我正在尝试在MYSQL上插入以下信息但是仍然遇到上述错误?即使我只是尝试插入其中一个值,它仍然会出错。
CREATE TABLE depositor
(depositor_name char(30),
depositor_number varchar(20),
PRIMARY KEY (depositor_number),
FOREIGN KEY (depositor_name) REFERENCES depositor(depositor_name));
INSERT INTO depositor VALUES("Johnson", "A-101");
INSERT INTO depositor VALUES("Smith", "A-215");
INSERT INTO depositor VALUES("Hayes", "A-102");
INSERT INTO depositor VALUES("Hayes", "A-101");
INSERT INTO depositor VALUES("Turner", "A-305");
INSERT INTO depositor VALUES("Johnson", "A-201");
INSERT INTO depositor VALUES("Jones", "A-217");
INSERT INTO depositor VALUES("Lindsay", "A-222");
INSERT INTO depositor VALUES("Majeris", "A-333");
INSERT INTO depositor VALUES("Smith", "A-444");
SELECT * FROM DEPOSITOR
答案 0 :(得分:1)
用单引号替换双引号:
INSERT INTO depositor VALUES('Johnson', 'A-101');
答案 1 :(得分:1)
以防它对任何人有帮助。
我在表X上触发插入和更新时遇到此错误。插入和更新查询没有任何问题。我发现有触发器插入正在更新/插入到其他表Y的行。它没有相同数量的列。所以它抛出了这个错误。一旦我更改了Y的表结构,错误就解决了。
答案 2 :(得分:0)
外键引用自身,这没有任何意义(实际上我很惊讶MySQL允许你创建它:我尝试时出错;也许你的CREATE TABLE
命令失败了没有你注意到并且您正试图INSERT
进入没有两列的表的某个先前版本?)。
删除外键约束(以及DROP
任何现有表。)