我在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

10-07 12:37
查看更多