Я пытаюсь выполнить ниже cmd, но это вызывает исключение:
org.hsqldb.HsqlException: несовместимый тип данных в операции
conn.prepareStatement("INSERT INTO TableA (colA) VALUES (IFNULL(?, 1)))
Здесь TableA имеет colA с целочисленным типом данных. Тем не менее, если я изменил выше cmd на
conn.prepareStatement("INSERT INTO TableA (colA) VALUES(IFNULL(null, 1)))
, он работает правильно, но не имеет никакого смысла, потому что хочет передать значение colA во время выполнения.
код:
ps = conn.prepareStatement("INSERT INTO TableA (colA) VALUES(IFNULL(?, 1))")
ps.setObject(1, 5); // this cmd doesn't have any problem code is failing at preparestatement itself