h2:多行insert语句出错

snz8szmq  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(401)

我正在使用内存中的h2数据库和一个初始化sql脚本。将创建下表:

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)
);

现在我可以像这样在表中插入一些行:

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');

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

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');

我收到以下错误消息:
列计数不匹配
有人知道这个问题吗?在一个语句中插入几行行行是可能的吗?

sczxawaw

sczxawaw1#

这就是在一条sql语句中同时插入多行的方法:

VALUES('DEVINT', 'https://dev.etat-ge.ch'),
      ('DEVINT', 'https://devtech.etat-ge.ch');

它被称为行值构造函数,是自sql-92以来的一个标准。
资料来源:http://www.andrew.cmu.edu/user/shadow/sql/sql1992.txt (第7.1章)

相关问题