dongzhi1822 2014-12-21 18:31
浏览 30

如果记录不存在则插入,否则在具有长查询的mysql中删除

I have a follow system that allow user to follow one another. I'm using php pdo so it doesn't support multiple line query instead I need a long query. Currently I'm using the code below

$query = $db->query("SELECT id FROM follow WHERE user1 = 'kim' AND user2 = 'tim' ");
if($query->rowCount() > 0 ){
    $db->query("DELETE * FROM follow WHERE user1 = 'kim' AND user2 = 'tim' ");
}else{
    $db->query("INSERT INTO follow (user1,user2) VALUES ('kim','tim') ");
}

So here what I want is a long query rather than multiple query statement. Additional with the long query I need get the data that indicate wether the record is insert or delete.(Maybe this question is duplicated but this is the part that wasn't duplicated) How can I acheive it?

  • 写回答

1条回答 默认 最新

  • duanbodai5166 2014-12-23 03:36
    关注

    Here is the "long query"

    IF EXISTS (SELECT id FROM follow WHERE user1 = 'kim' AND user2 = 'tim' )
    BEGIN
        DELETE * FROM follow WHERE user1 = 'kim' AND user2 = 'tim'
    END
    ELSE
    BEGIN
        INSERT INTO follow (user1,user2) VALUES ('kim','tim')
    END
    

    If it gets too "long" put it in a stored procedure.

    评论

报告相同问题?

悬赏问题

  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图