我在django项目中使用pymssql连接数据库。
我正在尝试使用execute()方法进行插入。
但是我得到这个错误:
无法将值NULL插入表ITEMS的“ ID”列中
ID列是主键,因此据我所知,它应该由sql本身填充。
这是我的插入命令:
bill_id = execute("""
INSERT INTO ITEMS(COlUMN1,COlUMN2, COlUMN3,COlUMN4,COlUMN5)
VALUES (%d, %d, %d, %d, %d);
""", (1713, 6, 929, 1184, 25))
这些列都不是ID。
谁能告诉我做错了什么?
最佳答案
如果id列不是自动递增键列,则它将不起作用。如果您在create table语句中的SQL中定义列,则它不会自动成为自动增量列。您必须定义它。也许您应该首先进行查询以获取id列的最大值。第二,您可以增加值,然后将主列添加到您的插入语句中。
我发现此链接使用django元数据api。
https://docs.djangoproject.com/en/1.9/ref/models/meta/#migrating-from-the-old-api