PostgreSQL批量插入含重复level字段值时报语法错误如何解决
错误原因说明
你的报错和level字段的重复值没有任何关联,完全是SQL语法书写错误导致的,存在两个问题:
- 插入语句关键字错误:PostgreSQL 标准插入语法为
INSERT INTO,你写的INSERT TO属于语法错误,单条插入时你应该是无意间修正了该关键字才执行成功。 - 批量插入的多组值未加逗号分隔:使用
VALUES一次性插入多行时,每一行的括号值之间必须用英文逗号分隔,你当前的写法直接拼接多行括号,不符合语法规范。
正确批量插入写法
修正后的SQL语句如下:
INSERT INTO students VALUES (1, 'John Smith', '123 Address Ave', '01/01/1901', 'jsmith@email.com', 'ugrad'), (2, 'Jane Doe', '122 Address Road', '01/01/1902', 'jdoe@email.com', 'ugrad');
你可以直接在pgAdmin4中执行上述语句,不需要拆分单条,即可完成批量插入。如果后续还要追加更多行,只需要在每行末尾加英文逗号,最后一行末尾加英文分号结束即可。
内容的提问来源于stack exchange,提问作者hookemhorns111
相关产品推荐
相关产品推荐

