0

好的,我只在行不同时尝试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

有任何想法吗?

4

3 回答 3

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) 
于 2012-11-14T14:11:56.070 回答
0

尝试使用 '<>' 而不是 '!='

于 2012-11-14T13:59:30.443 回答
0

好的,我明白了问题所在:)

myCheck 行是 varchar(32),$myCheck 有 35 个符号...所以总是

1111111111111111111111111111111 =!11111111111111111111111111111111111

现在 myCheck 行是 varchar(64) 并且一切正常

于 2012-11-14T15:07:28.487 回答