gpt4 book ai didi

sql - PostgresQL - 无法将值插入表中 - 错误 : INSERT has more target columns than expressions

转载 作者:行者123 更新时间:2023-12-04 10:43:55 36 4
gpt4 key购买 nike

有很多与此主题相关的问题,但我发现的问题都不能解决我的问题。

我只是想运行一个文件来在我的数据库“test_scheduler”中创建一个表。
该表创建得很好;但是,当我运行文件以使用 bool 值为表播种时......没有任何 react ,我收到一个

ERROR:  INSERT has more target columns than expressions

这是创建表的文件:
DROP TABLE IF EXISTS operation;


CREATE TABLE operation (
id INTEGER PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY,
monday INTEGER NOT NULL DEFAULT FALSE,
tuesday BOOLEAN NOT NULL DEFAULT FALSE,
wednesday BOOLEAN NOT NULL DEFAULT FALSE,
thursday BOOLEAN NOT NULL DEFAULT FALSE,
friday BOOLEAN NOT NULL DEFAULT FALSE,
saturday BOOLEAN NOT NULL DEFAULT FALSE,
sunday BOOLEAN NOT NULL DEFAULT FALSE
);

这是种子文件:
TRUNCATE operation;

INSERT INTO operation
(monday, tuesday, wednesday, thursday, friday, saturday, sunday)
VALUES
(FALSE),
(FALSE),
(TRUE),
(FALSE),
(FALSE),
(FALSE),
(FALSE);

我之前也在同一个数据库中添加了创建和播种的两个表。我已经翻遍了这个种子文件,但我不知道该怎么做。

这是完整的声明和错误:
psql:C:/Users/Eli/Desktop/SQL/seed.operation-hours.sql:11: ERROR:  INSERT has more target columns than expressions
LINE 2: (monday, tuesday, wednesday, thursday, friday, saturday, s...

我尝试了创建和种子文件的不同变体,例如,我放弃了“NOT NULL”、“DEFAULT”,我将默认值设置为“false”、false、“0”等。
我在文件中所做的一切都没有任何影响。
我感谢任何和所有的帮助!

最佳答案

您的代码将每行一个值插入七行,而不是将七列插入一行。你想要的语法是:

INSERT INTO operation (monday, tuesday, wednesday, thursday, friday, saturday, sunday)
VALUES (FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE);

关于sql - PostgresQL - 无法将值插入表中 - 错误 : INSERT has more target columns than expressions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59802715/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com