好的我只是在UPDATE
行不同时尝试myCheck
我的表格列
$query = "UPDATE `mytable`
SET myCheck='" . $myCheck . "', myStatus='" . $myStatus . "', myId='" . $myId . "'
WHERE my_id = '" . $myId . "'
AND myCheck != '" . $myCheck . "' ";
列存在,我需要UPDATE
my_id row = $myId
(这可行)
我想检查这些数据是否已经存在于我的sql中,因此我创建了myCheck
行
但是,无论myCheck
行是否等于$myCheck
,查询都会更新。
我试过<>相反!= ...相同的结果
此外,我想在$myId
与sql中的这些不同时(例如在sql my_id行1,2,3
和$myId = 4
)中创建一个my_id 4
的新行。
也许我必须使用与UPDATE
不同的东西?
有什么想法吗?
答案 0 :(得分:1)
我认为myCheck
可能是null
,因为null <> something
永远不会是真的,所以您的行不会更新。试试这个:
UPDATE `mytable` set SET myCheck='your_value'
WHERE my_id = 'your_id' AND ((myCheck <> 'your_value') OR myCheck is null)
答案 1 :(得分:0)
尝试使用'&lt;&gt;'而不是'!='
答案 2 :(得分:0)
好的,我明白了问题所在:)
myCheck行是varchar(32),$ myCheck有35个符号......所以总是
11111111111111111111111111111111 =! 11111111111111111111111111111111111
现在myCheck行是varchar(64),一切正常