向PostgreSQL数据库表中插入更多行会导致所有值都在一行中

bbmckpt7  于 2023-02-12  发布在  PostgreSQL
关注(0)|答案(3)|浏览(148)

新手问题。尽管遵循了官方的PostgreSQL语法,但我不能在一个表中插入多行。它总是以将所有值添加到第一行而告终。
我首先创建了这样一个表:

create table "DBSTest".Test (column1 varchar, column2 varchar, column3 varchar);

我的更新语句如下所示:

insert into "DBSTest".Test (column1, column2, column3) 
values (
('test1a','test1b'),
('test2a','test2b'),
('test3a','test3b')
);

我希望该表如下所示:
| 栏1|第2栏|第3栏|
| - ------|- ------|- ------|
| 试验1a|试验2a|试验3a|
| 测试1b|测试2b|测试3b|
结果却是这样:
| 栏1|第2栏|第3栏|
| - ------|- ------|- ------|
| (试验1a、试验1b)|(测试2a、测试2b)|(测试3a、测试3b)|
很明显我犯了个超级大的错误。我会很感激任何帮助,谢谢:)
PS.编辑以获得正确的表格格式。

ibrsph3r

ibrsph3r1#

您试图在第一列中插入3行作为('test1a ','test1b')
试试这个:

insert into Test (column1, column2, column3) 
values 
('test1a','test2a', 'test3b'),
('test1b','test2b', 'test3b');
rkkpypqq

rkkpypqq2#

SQL按行而不是按列的顺序插入值,即您的查询应如下所示:
insert into dbstest (column1, column2, column3) values ('test1a', 'test2a', 'test3a'), ('test1b', 'test2b', 'test3b');
然后返回指定的输出:

nukf8bse

nukf8bse3#

在INSERT的VALUES子句中,每一行数据(在示例中为每一行数据)都进入表中自己的,而不是自己的

相关问题