我正在尝试更新"用户表标记为1"如果 user_pages 中存在用户表的ID,
以下是两种表结构
1-用户表
| id | starred |
| 1 | 0 |
2- user_pages表
| uid |
| 2 |
| 5 |
| 1 |
我正在尝试使用此cron命令:
$query="update users up join
users u
on up.id = u.id
set up.starred = (case when u.id = uid then 1 else 0 end)";
mysql_query($query);
预期结果
| id | starred |
| 1 | 1 |
如果另一个表中存在id,请帮我更新一个标志
注意::
用户表中的ID = id
在user_pages表
中ID为= uid答案 0 :(得分:0)
update user u join user_pages up on u.id = up.uid
set u.starred = 1 where u.id in (select uid from user_pages);
答案 1 :(得分:0)
这是一个简单的方法:
UPDATE users u
JOIN user_pages up ON up.uid = u.id
SET u.starred = 1;
答案 2 :(得分:0)
UPDATE users a
JOIN user_pages b ON a.id = b.uid
SET a.starred = 1 where a.id = 1 //or your update id
如果users_pags表中存在uid
,则仅更新users.starred