php - MySQL更新更新所有行?

标签 php mysql database

我正在尝试创建一个 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/

相关文章:

MySQL触发器和 "Referencing"

MySQL 错误代码 : 1264. 第 1 行 'columnname' 超出范围值

database - 如何在 oracle 11g 中对具有外键引用的另一个表的所有表启用触发器?

java - 在 JAVA 中替代 PHP 的关联数组

mysql - 合并两个表而不使用 mysql 中的连接?

php - 如何使用 array_search() 获取多个键?

MySQL:计算空行的累积和

sql - oracle sql错误-缺少右括号

php - php 和 select mysql 之间的比较问题

php - php方法意外的t_string