为什么这个MySQL查询在我的生产服务器上工作,而不在我的本地测试服务器上?

时间:2018-03-24 10:04:59

标签: mysql

这是我正在尝试运行的查询:

INSERT INTO Article (id, name, title, author, dateCreate, dateEdit, permissions, template, views, tags) VALUES ('', 'test_show', 'Test Show', '1', '2018-03-24 18:47:09', '2018-03-24 18:47:20', '', '', '', '')

当我在DreamHost上托管的生产服务器上运行它时,我相信is running MySQL version 5.6,它可以正常工作。

在我的本地测试机器上运行MySQL Ver 14.14 Distrib 5.7.21,当我运行相同的查询时出现此错误:

#1366 - Incorrect integer value: '' for column 'id' at row 1

两台服务器上的数据库结构完全相同。列'id'设置为自动递增。

我需要让我的本地测试服务器的行为与我的生产服务器的行为相同,那么我需要调整的MySQL版本之间是否存在一些设置差异?在任何情况下,如何使查询在我的本地测试服务器上工作?

1 个答案:

答案 0 :(得分:1)

由于ID设置为自动递增,因此您无需在查询中添加它。试试这个:

INSERT INTO Article (name, title, author, dateCreate, dateEdit, permissions, template, views, tags) VALUES ('test_show', 'Test Show', '1', '2018-03-24 18:47:09', '2018-03-24 18:47:20', '', '', '', '')