【发布时间】:2017-10-12 09:43:32
【问题描述】:
我在我的 django 项目中使用 pymssql 来连接数据库。
我正在尝试使用 execute() 方法进行插入。
但是我收到此错误:
无法将值 NULL 插入到列“ID”、表 ITEMS
ID 列是主键,因此据我所知,它应该由 sql 本身填充。 这是我的插入命令:
bill_id = execute("""
INSERT INTO ITEMS(COlUMN1,COlUMN2, COlUMN3,COlUMN4,COlUMN5)
VALUES (%d, %d, %d, %d, %d);
""", (1713, 6, 929, 1184, 25))
并且这些 COLUMN 都不是 ID。 谁能告诉我做错了什么?
【问题讨论】:
-
为什么不用Django模型与数据库交互?
-
@mhawke 我做不到。我正在做一个相当大的项目,这不是我的决定。
-
如果表不是由 Django 创建的,那么 ID 字段可能没有设置
AUTO_INCREMENT。您需要指定 id 或更改列以使其自动递增。 -
@Alasdair 谢谢。可能是这样。我将如何更改列?
-
您需要运行适当的
ALTER TABLE语句。我不知道 MySQL 的确切语法。
标签: python sql sql-server django pymssql