我在node.js
中使用pg
包,并创建了我的表模式:
CREATE TABLE clients_steps (
id SERIAL PRIMARY KEY,
client_id INTEGER NOT NULL
REFERENCES clients ON DELETE CASCADE,
step_id INTEGER NOT NULL
REFERENCES steps ON DELETE CASCADE,
update_date DATE NOT NULL DEFAULT CURRENT_DATE
);
现在我正在尝试为数据库播种。但它一直向我抛出错误。我的种子文件:
### this works fine ###
INSERT INTO clients_steps (client_id, step_id, update_date)
VALUES (1, 2, '2023-02-02');
### this is not working ###
INSERT INTO clients_steps (client_id, step_id, update_date)
VALUES (1, 1);
错误是:
错误:INSERT的目标列多于表达式
第1行:INSERT INTO客户端步骤(客户端标识,步骤标识,更新日期)
我认为原因是它不能在列中插入默认值。
那么我应该如何设置DATE数据类型的默认值呢?我不需要时间戳,只需要日期。
太感谢你了!
1条答案
按热度按时间neskvpey1#
要将第二次插入转换为有效的SQL,您有两种选择:
1.从列表中省略要使用默认值的列:
1.使用特殊值
DEFAULT
: