错误代码:1136。列数与第1行的值计数不匹配

时间:2012-10-15 17:05:53

标签: mysql

我正在尝试在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

3 个答案:

答案 0 :(得分:1)

用单引号替换双引号:

INSERT INTO depositor VALUES('Johnson', 'A-101');

答案 1 :(得分:1)

以防它对任何人有帮助。

我在表X上触发插入和更新时遇到此错误。插入和更新查询没有任何问题。我发现有触发器插入正在更新/插入到其他表Y的行。它没有相同数量的列。所以它抛出了这个错误。一旦我更改了Y的表结构,错误就解决了。

答案 2 :(得分:0)

外键引用自身,这没有任何意义(实际上我很惊讶MySQL允许你创建它:我尝试时出错;也许你的CREATE TABLE命令失败了没有你注意到并且您正试图INSERT进入没有两列的表的某个先前版本?)。

删除外键约束(以及DROP任何现有表。)