[英]Update first then Insert if row doesn't exist (SQL) Rather than check if row exists first?
[英]sql - check if row even exist while update without extra query?
echo mysqli_query($con, "UPDATE stuff SET fieldd = 2 WHERE bla = 7");
当bla
存在7
时,它返回1
但是当bla中的7
不存在时它也返回1
,为什么???? 有没有办法找出更新是否成功/如果此行存在而没有检查此行是否存在以前的额外查询?
一种方法使用变量:
SET @found = 0;
UPDATE stuff
SET fieldd = if(@found := 1, 2, 2)
WHERE bla = 7;
SELECT @found;
更正式的方法是使用mysql_affected_rows()
(参见此处 )。 但是,默认情况下,这仅显示行实际是否已更改。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.