我想我知道这个问题的答案,但想得到确认。
如果您有一个带有 where 子句的简单更新查询,并且 where 子句中的变量值丢失,是否意味着每条记录都会更新?
//let's say $name is empty
UPDATE users SET name= 'Jason' WHERE userid = '$name'
is that the same as
UPDATE users SET name= 'Jason' WHERE userid = ''
每条记录都会更新的行为吗?
如果是这样,您是否可以在 SQL 中添加任何内容来防止这种潜在的灾难?
感谢指导。
最佳答案
这两个查询都将更新所有 userid
列为空的记录。但这并不意味着 userid
值等于 NULL
的行将受到影响。如果您想对 NULL
列使用 WHERE
,请阅读 how to working with NULL values .
关于PHP/MySQL : Update Query where value is missing from WHERE clause,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34197139/