我有以下 hsqldb 表,其中我将 UUID 映射到自动递增的 ID:
SHORT_ID (BIG INT, PK, auto incremented) | UUID (VARCHAR, unique)
创建命令:
CREATE TABLE mytable (SHORT_ID BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY, UUID VARCHAR(36) UNIQUE)
为了同时添加新对,我想使用 atomicMERGE INTO
语句。所以我的(准备好的)声明如下所示:
MERGE INTO mytable USING (VALUES(CAST(? AS VARCHAR(36)))) AS v(x) ON mytable.UUID = v.x WHEN NOT MATCHED THEN INSERT VALUES v.x
当我执行语句(正确设置占位符)时,我总是得到一个
Caused by: org.hsqldb.HsqlException: row column count mismatch
您能否给我一个提示,这里出了什么问题?
提前致谢。