實際的開發過程中,可能會遇到這樣的需求,先判斷某一記錄是否存在,如果不存在,添加記錄,如果存在,則修改數據。在INSERT語句末尾指定ON DUPLICATE KEY UPDATE可以解決這類問題。
其用法如下:如果在INSERT語句末尾指定了ON DUPLICATE KEY UPDATE,並且插入行后會導致在一個UNIQUE索引或PRIMARY KEY中出現重復值,則在出現重復值的行執行UPDATE操作,如果不會導致唯一值重復的問題,則執行INSERT操作。
如下sql:數據庫表中需建立唯一索引
UNIQUE KEY `uniq_relation_id_field_name` (`relation_id`,`field_name`,`relation_type`) USING BTREE