MYSQL:如果已经存在则插入记录更新记录 [英] MYSQL: Insert record if it is already exists update record
本文介绍了MYSQL:如果已经存在则插入记录更新记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如果记录存在,我需要更新记录,否则将其插入.我已经尝试过以前的相关答案,但这些还不够
I have a requirement to update a record if it exists else insert it. I already tried previous related answers but those are not sufficient
我有一个带有 data_meta 的表名
I have a table name with data_meta
meta_id | token | meta_key | meta_value
1 1 terms_conditions terms conditions content
2 1 is_config_enable 1
3 2 terms_conditions terms conditions content
我必须根据令牌进行更新 &meta_key .. 对于同一个令牌 meta_key 不重复..
I have to update based on token & meta_key.. For same token meta_key doesn't repeat..
我的插入查询
"INSERT INTO data_meta (token, meta_key, meta_value)
VALUES (" . $token . ", '" . $key . "', '" . $value . "')";
我的更新查询
"UPDATE data_meta SET meta_value = '" . $value . "' WHERE meta_key = '" . $key . "' AND token=" . $token ;
推荐答案
create uniqe index on (token, meta_key) 如果不存在:
create uniqe index on (token, meta_key) If not exists:
create unique index data_meta_tm on data_meta(token, meta_key);
查询:
"INSERT INTO data_meta (token, meta_key, meta_value)
VALUES (" . $token . ", '" . $key . "', '" . $value . "')
ON DUPLICATE KEY UPDATE meta_value = VALUES(meta_value)";
这篇关于MYSQL:如果已经存在则插入记录更新记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文