clu*_*clu 2 sql postgresql sql-insert
我在Postgres中有一个表,该表仅具有默认列值(id,created_at)。
我可以插入此表的唯一方法是
INSERT INTO pages(id) VALUES(DEFAULT) RETURNING id;
Run Code Online (Sandbox Code Playgroud)
我为什么不能这样做:
INSERT INTO pages RETURNING id;
Run Code Online (Sandbox Code Playgroud)
只是好奇。
您可以使用:
INSERT INTO test DEFAULT VALUES returning id;
Run Code Online (Sandbox Code Playgroud)
您想要的所有说明都在这里:https : //www.postgresql.org/docs/current/sql-insert.html
PostgreSQL的语法非常强硬。
默认值:所有列均将填充其默认值。(此格式不允许使用OVERRIDING子句。)
你需要 values 关键字,否则你怎么知道你想插入多少行?但是,您不需要字段名称,因此您可以(非常)缩短查询:
INSERT INTO pages VALUES(DEFAULT) RETURNING id;
Run Code Online (Sandbox Code Playgroud)