我正在使用MySQL。
我有一个5列的唯一约束组合。我的目标是更新计数器,如果这5个值都相同。
我有另一个唯一键一列,如果相同,则不应在上面提到的重复键上插入或执行更新。
ck_unique - > time
,notes
,lectures
,status
独特的 - > id
不是auto inc或sth,id是varchar(20)。
因此,如果存在id
,请忽略整个插入或更新。
如果时间,笔记,讲座,状态相同,则更新一个计数器。
我已经尝试过哪里不存在,插入重复键但没有运气,如果更新,如果id存在,因为我想要其他ck_unique的行为。
INSERT INTO `mytable` (`id`, `lectures`, `notes`, `time`, `status`, `counter`, `input`) VALUES ('1', '1', '1', '1', '1', '1', '1') ON DUPLICATE KEY UPDATE `counter` = `counter`+1
但是如果id存在,它应该忽略。 ID是唯一密钥。
似乎我必须首先选择id,如果不存在,插入/更新dup键?