我正在为我的网站使用INSERT ON DUPLICATE KEY语句。这是用于创建新闻项目,所以我想我可以使用相同的MySQL命令来创建和更新新闻项目。
但是,当我使用以下内容时:
INSERT INTO table (id,title,content) VALUES(NULL,"Test","Test");
不会创建新的自动增量值,而是抛出错误。但是,该命令适用于我的主开发服务器。但不是我的笔记本电脑。两个版本的MySQL都是相同的,唯一的区别是MySQL是在我的服务器上手动安装的,而我的笔记本电脑上安装了WAMP。
是否有可能导致此问题的MySQL变量?
答案 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);
现在有效。