H2:多行插入语句出错

Mau*_*rry 3 java sql h2

我正在使用带有初始化 SQL 脚本的内存 H2 数据库。创建了下表:

CREATE TABLE GINA_T_WAM_GUESTDOMAIN (
    WFD_C_NAME VARCHAR(12) NOT NULL,
    WFD_C_BASEURI VARCHAR(128) NOT NULL,

    PRIMARY KEY (WFD_C_NAME, WFD_C_BASEURI),
    FOREIGN KEY (WFD_C_NAME) REFERENCES GINA_T_WAM_GUEST(WFG_C_NAME)
);
Run Code Online (Sandbox Code Playgroud)

现在我可以在该表中插入一些行,如下所示:

INSERT INTO GINA_T_WAM_GUESTDOMAIN(WFD_C_NAME,WFD_C_BASEURI)
    VALUES('DEVINT', 'https://dev.etat-ge.ch');

INSERT INTO GINA_T_WAM_GUESTDOMAIN(WFD_C_NAME,WFD_C_BASEURI)
    VALUES('DEVINT', 'https://devtech.etat-ge.ch');
Run Code Online (Sandbox Code Playgroud)

但是当我尝试在单个语句中插入两行时:

INSERT INTO GINA_T_WAM_GUESTDOMAIN(WFD_C_NAME,WFD_C_BASEURI)
    VALUES('DEVINT', 'https://dev.etat-ge.ch'),
    VALUES('DEVINT', 'https://devtech.etat-ge.ch');
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息:

列数不匹配

有人知道这个问题吗?是否可以在一条语句中插入多行?

Evg*_*nik 6

这就是如何在单个 SQL 语句中同时插入多行:

VALUES('DEVINT', 'https://dev.etat-ge.ch'),
      ('DEVINT', 'https://devtech.etat-ge.ch');
Run Code Online (Sandbox Code Playgroud)

它称为行值构造函数,是自 SQL-92 以来的标准。


资料来源:http://www.andrew.cmu.edu/user/shadow/sql/sql1992.txt(第 7.1 章)