mysql如果数据不存在,则插入新数据,否则更新

今天在修改ecshop时添加多语言项:

//如果不存在,则插入新数据
$sql = “INSERT INTO {$ecs->table(‘cat_lang’)} (cat_id,lang_id,cat_name,keywords,cat_desc)
VALUES({$cat_id},{$k},’{$val['cat_name']}’,'{$val['keywords']}’,'{$val['cat_desc']}’)
ON DUPLICATE KEY UPDATE cat_name=’{$val['cat_name']}’,cat_desc=’{$val['cat_desc']}’,keywords=’{$val['cat_desc']}’”;

这里要注意的是:必须表主键唯一 。这里,这里我采用的是 分类id和语言id双主键机制。

具体sql如:

INSERT INTO TABLE (a,b,c)
VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1;
UPDATE TABLE SET c=c+1 WHERE a=1;

分享到QQ空间

Comments are closed.