は私が達成しようとしています何H2DBクエリテーブルにINSERTが一定値で動作していないSELECT
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にレコードを挿入することですパーミッションテーブルのパーミッションごとに続き
は、同じクエリは、MySQLで動作しているエラー
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]"]
です。スティング定数の
H2についてはわかりませんが、すべてのRDMSでは定数は一重引用符で宣言されています。また、中括弧は不要です。 '(" 1 ")'を '' 1 ''に置き換えてください。 – Utsav
ええ、括弧を追加する前に試しました。動作しません。 – TechCrunch
二重引用符も一重引用符で置き換えます。最初にselect文を実行するだけです。また、結合条件を与えないことによってクロス結合を行っています。それは意図的なのでしょうか? – Utsav