我必须从book(id,book_id,status)状态为的表中选择 3 行status=0。最初所有行都有status0。所以通过使用 select query.order by id 和 limit 3 我可以选择前 3 行。问题是如何将选定的行状态更新为1,因为它们被选中。
正在使用 PHP、CodeIgniter 和 MySQL,我可以在单个查询中完成吗?
例子:
id book_id status
1 100 0
2 101 0
3 102 0
4 103 0
5 104 0
6 105 0
Run Code Online (Sandbox Code Playgroud)
选择前 3 行后,该行的状态应更新为 1
id book_id status
1 100 1
2 101 1
3 102 1
4 103 0
5 104 0
6 105 0
Run Code Online (Sandbox Code Playgroud)
是的你可以。
UPDATE book
SET status = 1
WHERE id IN (
SELECT id FROM book
LIMIT 3
)
Run Code Online (Sandbox Code Playgroud)