0
INSERT INTO Restaurant (restaurantID, adres, postcode, telefoonnummer, email)
VALUES ('Johan Cruijff Boulevard 175', '1101 EJ', 020-6910231, 'info@ichi-e.nl');

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

4

5 回答 5

1

我的意思是你有自动递增的 restaurantID 列,所以你需要这样的插入器:

INSERT INTO Restaurant (
    adres, postcode, telefoonnummer, email
) VALUES (
    'Johan Cruijff Boulevard 175', '1101 EJ', '020-6910231', 'info@ichi-e.nl'
);

任何方式计数列是 SQL 查询必须等于值计数。

于 2021-01-09T13:00:16.380 回答
0

看起来你没有被列入RestaurantId名单VALUES。在许多情况下,无论如何这都是自动递增的,因此可以省略:

INSERT INTO Restaurant (adres, postcode, telefoonnummer, email)
    VALUES ('Johan Cruijff Boulevard 175', '1101 EJ', '020-6910231', 'info@ichi-e.nl');

据推测,电话号码也是一个字符串,应该用单引号括起来。

于 2021-01-09T13:00:52.780 回答
0

重新检查 VARCHAR() 或 NVARCHAR() 的电话号码数据类型和长度

尝试这个

INSERT INTO Restaurant (restaurantID, adres, postcode, telefoonnummer, email)
VALUES ('Johan Cruijff Boulevard 175', '1101 EJ', '020-6910231', 'info@ichi-e.nl');
于 2021-01-09T13:01:40.037 回答
0

您需要提供值或从第一个括号块中restaurantID排除。restaurantID

于 2021-01-09T13:05:02.037 回答
0

错误消息会告诉您所需的一切。第一行中指定的列数与第二行中的值数不匹配。您的第一行指定在您的第二行中哪些列将具有值以及以何种顺序以及如果值的数量与预期值的数量不匹配,那么显然有问题。

您没有为 指定值restaurantID。如果它自动获得一些值,那么您可以从列列表中省略它:

INSERT INTO Restaurant (restaurantID, adres, postcode, telefoonnummer, email)
VALUES ('Johan Cruijff Boulevard 175', '1101 EJ', 020-6910231, 'info@ichi-e.nl');

否则,如果该字段没有这样的自动值,那么您将需要提供其值作为values子句中的第一项。

于 2021-01-09T13:35:32.673 回答