提交''时出现MySQL错误在数组中

时间:2012-01-02 06:07:44

标签: php mysql loops

我有一个PHP循环,它自动生成一个数组以插入表中。但是我得到了这个错误:

Database query failed: Incorrect integer value: '' for column 'id' at row 1
Last SQL query: INSERT INTO users(id, email, password, first_name, last_name) VALUES ('', 'test@user.com', 'fljhdsfsd', 'John', 'Doe')

我尝试将id字段设置为No Null和Null,但这没有帮助。

有什么想法吗?在此先感谢您的帮助。

4 个答案:

答案 0 :(得分:3)

如果您的id字段是自动递增的列,那么您可以在INSERT查询中省略它。

INSERT INTO users(email, password, first_name, last_name) 
VALUES ('test@user.com', 'fljhdsfsd', 'John', 'Doe');

将自动生成id

答案 1 :(得分:2)

您的Mysql正在严格模式下运行。如果该列没有值,则必须传递NULL,如果列为auto increment,则可以从查询中删除此列。 一旦尝试以下查询,我相信这将有效。

INSERT INTO users(id, email, password, first_name, last_name) 
VALUES (NULL, 'test@user.com', 'fljhdsfsd', 'John', 'Doe')

答案 2 :(得分:1)

如果id字段自动递增,则可以跳过该字段。如果没有,那么读错误,它说“不正确的整数值”,你给''巫婆是字符串。在这种情况下,在每次插入之前,您应该从数据库中获取max id并将其递增,或使用任何其他ID生成。

答案 3 :(得分:0)

发生这种情况是因为数据库中的id字段现在只包含整数值。而blanck不是整数值。只需更改数据库中的数据类型即可。

只需将数据类型ID“integer”更改为“varchar”,勾选“自动增量”并在数据库中输入类似“250”字段的长度,然后运行查询。