常量随后进行的是H2DB查询INSERT INTO表中选择不与H2 DB
INSERT INTO userpermission (userid, permissionid, createddt, createdby, updateddt, updatedby)
SELECT u.userid, p.permissionid, now(), ("1"), now(), ("1") FROM user u, permission p
WHERE u.email = "[email protected]";
我想实现是记录插入userpermission与user表中指定的电子邮件地址的用户,为权限表中的每个权限。
以下是错误
Reason: liquibase.exception.DatabaseException: Column "1" not found; SQL statement:
INSERT INTO userpermission (userid, permissionid, createddt, createdby, updateddt, updatedby)
SELECT u.userid, p.permissionid, now(), ("1"), now(), ("1") FROM user u, permission p
WHERE u.email = "[email protected]" [42122-193] [Failed SQL: INSERT INTO userpermission (userid, permissionid, createddt, createdby, updateddt, updatedby)
SELECT u.userid, p.permissionid, now(), ("1"), now(), ("1") FROM user u, permission p
WHERE u.email = "[email protected]"]
同样的查询工作在MySQL。
不确定H2,但在所有的RDMS中,常量用单引号声明。括号也是不必要的。用'1'替换'(“1”)'。 – Utsav
是的,我在添加大括号之前试过。不起作用。 – TechCrunch
用双引号替换双引号。首先运行select语句。此外,您通过不给予连接条件来进行交叉连接。那是故意的吗? – Utsav