H2:多行插入语句出错
H2: Error with a multi-row insert statement
我正在使用内存中的 H2 数据库和初始化 SQL 脚本。创建了以下 table:
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)
);
现在我可以像这样在 table 中插入一些行:
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');
我收到以下错误消息:
Column count does not match
有人知道这个问题吗?是否可以在一个语句中插入多行?
这就是在单个 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 章)
我正在使用内存中的 H2 数据库和初始化 SQL 脚本。创建了以下 table:
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)
);
现在我可以像这样在 table 中插入一些行:
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');
我收到以下错误消息:
Column count does not match
有人知道这个问题吗?是否可以在一个语句中插入多行?
这就是在单个 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 章)