如果loginId已经存在,我想将dataTime更新或插入到该表中,否则插入
CREATE TABLE IF NOT EXISTS UserLastActivity
(
id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
loginId VARCHAR(500) NOT NULL,
dataTime BIGINT NOT NULL,
);
第一次尝试:
MERGE INTO UserLastActivity KEY(loginId) VALUES(#{loginId}, #{dataTime})
对于上述声明,我得到了异常,指出列数不匹配
第二次尝试:
MERGE INTO UserLastActivity KEY(loginId) (loginId, dataTime)
VALUES(#{loginId}, #{dataTime})
我遇到异常
由以下原因引起:org.h2.jdbc.JdbcSQLException:SQL语句中的语法错误“ MERGE INTO USERLASTACTIVITY KEY(LOGINID)(LOGINID [*],DATATIME)VALUES(?,?)”;预期的“(,SELECT,FROM”; SQL语句:
答案 0 :(得分:0)
两件事:
sudo apt-get update
sudo apt-get autoclean
sudo apt-get clean
sudo apt-get autoremove
上所做的一样。您需要为INSERT
指定一个值,因为它已声明为loginId
。
NOT NULL