PostgresSQL - Can't Insert values into table - ERROR: INSERT has more target columns than expressions
PostgresSQL - Can't Insert values into table - ERROR: INSERT has more target columns than expressions
有很多与此主题相关的问题,但我发现的 none 可以解决我的问题。
我只是想 运行 一个文件在我的数据库 "test_scheduler" 中创建一个 table。
table 创建得很好;但是,当我 运行 文件用布尔值为 table 播种时......没有任何反应,我收到
ERROR: INSERT has more target columns than expressions
这是创建 table 的文件:
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);
我之前也在同一个数据库中添加了创建和播种两个 table。我已经遍历了这个种子文件,但我不知道该怎么做。
这是完整的语句和错误:
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);
有很多与此主题相关的问题,但我发现的 none 可以解决我的问题。
我只是想 运行 一个文件在我的数据库 "test_scheduler" 中创建一个 table。 table 创建得很好;但是,当我 运行 文件用布尔值为 table 播种时......没有任何反应,我收到
ERROR: INSERT has more target columns than expressions
这是创建 table 的文件:
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);
我之前也在同一个数据库中添加了创建和播种两个 table。我已经遍历了这个种子文件,但我不知道该怎么做。
这是完整的语句和错误:
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);