新手问题。尽管遵循了官方的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.编辑以获得正确的表格格式。
3条答案
按热度按时间ibrsph3r1#
您试图在第一列中插入3行作为('test1a ','test1b')
试试这个:
rkkpypqq2#
SQL按行而不是按列的顺序插入值,即您的查询应如下所示:
insert into dbstest (column1, column2, column3) values ('test1a', 'test2a', 'test3a'), ('test1b', 'test2b', 'test3b');
然后返回指定的输出:
nukf8bse3#
在INSERT的VALUES子句中,每一行数据(在示例中为每一行数据)都进入表中自己的行,而不是自己的列。