如果存在,mysql查询更新行?

时间:2014-03-27 05:31:43

标签: mysql database database-design

我需要在mysql中使用if,then,else查询,
尝试了以下,

if exists( select * from data_table where user_id =1 and link_id = 1) then update data_table set is_view = 1 where user_id = 1 else insert into data_table...

这样做的正确方法是什么?

2 个答案:

答案 0 :(得分:1)

如果您只需要在mysql中执行此操作,则在重复键上搜索插入。或者您可以使用存储过程。查看INSERT ... ON DUPLICATE KEY UPDATE Syntax

答案 1 :(得分:1)

insert into data_table (user_id, link_id, other_column)
values (1, 1, 'value to insert or uodate')
on duplicate key update  other_column='value to insert or update';