'id' 值不会在 MS 上使用 pydobc 自动递增 SQL
'id' value not incrementing automatically using pydobc on MS SQL
我收到此错误:
pyodbc.IntegrityError: ('23000', "[23000] [Microsoft][ODBC SQL Server Driver][SQL Server]Cannot insert the value NULL into column 'id', table 'XXXX.dbo.logs'; column does not allow nulls. INSERT fails. (515) (SQLExecDirectW); [23000] [Microsoft][ODBC SQL Server Driver][SQL Server]The statement has been terminated. (3621)")
当我想将新行推送到 table:
时会发生这种情况
sql = ''' INSERT INTO logs(name,ip,page,socket,date)
VALUES(?,?,?,?,?) '''
数据库托管在 Azure SQL 数据库上。
这是我用来创建 table:
的代码
sql_create_table = """CREATE TABLE XXXX.dbo.logs
(
id INT IDENTITY(1,1) NOT NULL,
name VARCHAR(100) NOT NULL,
ip VARCHAR(20) NOT NULL,
page VARCHAR(150) NOT NULL,
socket VARCHAR(200) NOT NULL,
date VARCHAR(30) NOT NULL
); """
为什么会这样?
尝试在"Identity..."之后和“NOT NULL”之前添加“PRIMARY KEY”
我收到此错误:
pyodbc.IntegrityError: ('23000', "[23000] [Microsoft][ODBC SQL Server Driver][SQL Server]Cannot insert the value NULL into column 'id', table 'XXXX.dbo.logs'; column does not allow nulls. INSERT fails. (515) (SQLExecDirectW); [23000] [Microsoft][ODBC SQL Server Driver][SQL Server]The statement has been terminated. (3621)")
当我想将新行推送到 table:
时会发生这种情况 sql = ''' INSERT INTO logs(name,ip,page,socket,date)
VALUES(?,?,?,?,?) '''
数据库托管在 Azure SQL 数据库上。 这是我用来创建 table:
的代码sql_create_table = """CREATE TABLE XXXX.dbo.logs
(
id INT IDENTITY(1,1) NOT NULL,
name VARCHAR(100) NOT NULL,
ip VARCHAR(20) NOT NULL,
page VARCHAR(150) NOT NULL,
socket VARCHAR(200) NOT NULL,
date VARCHAR(30) NOT NULL
); """
为什么会这样?
尝试在"Identity..."之后和“NOT NULL”之前添加“PRIMARY KEY”