mysql - 如果 userid = x 且 eventid = x,则 SQL 设置为 yes

标签 mysql sql phpmyadmin

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

我愿意:

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

Visual

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')

有人能给我指出正确的方向吗?

最佳答案

您似乎想要 insert 。 . .关于重复 key 更新:

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) 上建立唯一索引(主键与这两列同样有效)。

关于mysql - 如果 userid = x 且 eventid = x,则 SQL 设置为 yes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36204904/

相关文章:

mysql - 使用的索引列列表(mysql/mariadb)

mysql - 删除 MySQL 查询中除第一个字符外的所有字符

php - 选择所有行但只返回某些列 MySQL PDO

sql - 在 Oracle 数据库中搜索带有转义符的字符串

MySQL varchar timestamp 列存储两种不同的方式

PHP如何在列中找到相同的值

sql - 用随机数据填充表

php - 为什么存储在 session 变量中的数组计数会加倍?

php - 属性下缺少解锁按钮

PhpMyAdmin 导入错误-MySQL 服务器已经消失/无法识别的关键字