我正在尝试创建一个 sql 查询来检查表,如果它无法在另一个表中找到具有相同 id 的行,那么它会修改原始表中的字段。
UPDATE book SET reserved = 'N' WHERE not exists ( SELECT * FROM reservedbooks WHERE book = $row[bookID]
我在 php 中循环运行它,其中 $row[bookID] 代表所有书籍 id。我的问题是,当找到匹配项时,它将所有“保留”列值设置为“N”,而不仅仅是找不到值的列值。
任何帮助将不胜感激:)
最佳答案
使用这个:
UPDATE book SET reserved = 'N' WHERE id not in ( SELECT id FROM reservedbooks WHERE book = $row[bookID]
关于php - MySQL更新更新所有行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20179122/