我有一个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,但这没有帮助。
有什么想法吗?在此先感谢您的帮助。
答案 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”字段的长度,然后运行查询。