【问题标题】:SQL set attending to yes if userid = x and eventid = x如果 userid = x 且 eventid = x,则 SQL 设置为 yes
【发布时间】:2016-03-24 16:12:50
【问题描述】:

非常是 SQL 的新手,并且一直在使用 PHP 运行从 android 应用程序到 phpmyadmin 的简单查询。现在我遇到了一个稍微复杂一点的查询,甚至不确定我的语法是否正确。

我想:

  1. 检查用户是否有活动条目,如果有,则相应地更新出勤率(在本例中,我将更新为是)
  2. 如果没有事件条目我想插入一个(见代码)

SELECT * FROM user_has_event
IF user_user_id = 1 AND event_event_id = 1
  THEN 
    SET attendance= 'Yes'
  ELSE
    INSERT INTO user_has_event (user_user_id = 1, event_event_id = 1, attendance = 'Yes')

有人可以指点我正确的方向吗?

【问题讨论】:

    标签: mysql sql phpmyadmin


    【解决方案1】:

    你似乎想要insert . . . on duplicate key update

    insert into user_has_event(user_user_id, event_event_id, attendance)
        values (1, 1, 'yes')
        on duplicate key update attendance = 'yes';
    

    请注意,要使其正常工作,您需要在 user_has_event(user_user_id, event_event_id) 上具有唯一索引(具有这两列的主键也可以正常工作)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-14
      • 1970-01-01
      • 2021-06-19
      • 1970-01-01
      • 1970-01-01
      • 2018-11-11
      • 1970-01-01
      相关资源
      最近更新 更多