【发布时间】:2016-08-25 07:29:12
【问题描述】:
如果记录存在,我需要更新它,否则插入它。我已经尝试过以前的相关答案,但还不够
我有一个带有 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
我必须根据令牌和元密钥进行更新。对于相同的令牌元密钥不会重复..
我的插入查询
"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 ;
【问题讨论】:
-
你能把你的脚本放在这里吗?
-
为什么其他答案还不够? - 你为什么不能用
SELECT做一个简单的检查?然后根据该选择的结果插入/更新? -
触发器怎么样?
-
警告:这有一些严重的SQL injection bugs,因为在查询中使用了
$_GET数据。尽可能使用准备好的语句。在mysqli和PDO 中执行这些操作非常简单,其中任何用户提供的数据都使用?或:name指示符指定,稍后使用bind_param或execute填充,具体取决于您是哪个使用。