繁体   English   中英

H2:多行插入语句出错

[英]H2: Error with a multi-row insert statement

我正在使用带有初始化 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)
);

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

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

我收到以下错误消息:

列数不匹配

有谁知道这个问题? 是否可以在一个语句中插入几行?

这就是您可以在单个 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 章)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM