ID不能为空(自动增量)

时间:2012-06-10 10:36:26

标签: php mysql wamp auto-increment

我正在为我的网站使用INSERT ON DUPLICATE KEY语句。这是用于创建新闻项目,所以我想我可以使用相同的MySQL命令来创建和更新新闻项目。

但是,当我使用以下内容时:

INSERT INTO table (id,title,content) VALUES(NULL,"Test","Test");

不会创建新的自动增量值,而是抛出错误。但是,该命令适用于我的主开发服务器。但不是我的笔记本电脑。两个版本的MySQL都是相同的,唯一的区别是MySQL是在我的服务器上手动安装的,而我的笔记本电脑上安装了WAMP。

是否有可能导致此问题的MySQL变量?

3 个答案:

答案 0 :(得分:4)

我建议使用INSERT INTO table (title,content) VALUES("Test","Test");

这将在表格中创建一个新的增量ID。

答案 1 :(得分:0)

我认为你应该像这样进行查询,

INSERT INTO table (title,content) VALUES("Test","Test");

如果仍然无效,请检查id列是否设置为自动增量。

答案 2 :(得分:0)

管理尽可能最好地解决它。

我检查了我的代码并发现当我插入空的POST'd ID时将其包装在引号中。我现在已经改变它,以便它不带引号的NULL。所以我的查询现在应该是这样的:

INSERT INTO table (id,title,content) VALUES(NULL,"test","Test")
ON DUPLICATE KEY UPDATE title=VALUES(title), content=VALUES(content);

现在有效。