INSERT 语句报错的原因有很多,需要先看具体的报错信息和表结构才能精确解决。下面我按常见错误类型给你一个排查清单,你可以对照看看属于哪一种。
报错示例:
Column count doesn't match value count
原因:
INSERT INTO user (id, name, age) VALUES (1, 'Tom');
值比字段少。
解决:
INSERT INTO user (id, name, age)
VALUES (1, 'Tom', 18);
报错示例:
Duplicate entry '1' for key 'PRIMARY'
原因: 主键值已存在。
解决方式:
INSERT IGNOREON DUPLICATE KEY UPDATEINSERT IGNORE INTO user(id, name) VALUES (1, 'Tom');
INSERT INTO user(id, name)
VALUES (1, 'Tom')
ON DUPLICATE KEY UPDATE name = 'Tom';
报错示例:
Column 'name' cannot be null
原因:
字段设置了 NOT NULL,但没给值。
解决:
INSERT INTO user(name) VALUES ('Tom');
报错示例:
Incorrect integer value
原因: 比如把字符串插到 INT 字段。
解决:
age = 18 -- 不是 '18abc'
报错示例:
Unknown column 'Tom' in 'field list'
原因:
INSERT INTO user(name) VALUES(Tom);
解决:
INSERT INTO user(name) VALUES('Tom');
报错示例:
Cannot add or update a child row: foreign key constraint fails
原因: 插入的子表数据,在父表中不存在。
解决:
解决:
INSERT INTO user(name) VALUES('Tom');
DESC 表名;
你可以直接把下面这些信息发给我,我可以精确定位并给出修改 SQL:
我可以一步一步帮你改到能执行为止。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。