由于某些原因,行似乎没有被更新。知道为什么会这样吗?
UPDATE hts SET assigned='1' AND Owner='ms' WHERE hid='217477'
Query OK, 0 rows affected (0.16 sec)
Rows matched: 1 Changed: 0 Warnings: 0
select assigned, Owner from hts where hid='217477';
+----------+-------+
| assigned | Owner |
+----------+-------+
| NULL | NULL |
+----------+-------+
显示来自 hts 的列
+------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+-------+
| hid | varchar(25) | YES | UNI | NULL | |
| assigned | int(11) | NO | | 0 | |
| Owner | varchar(10) | YES | | NULL | |
+------------+--------------+------+-----+---------+-------+
最佳答案
你可以尝试两件事..
首先尝试从 SET 中删除 AND.. 通常你用逗号来做..
UPDATE hts SET assigned=1, Owner='ms' WHERE hid='217477'
第二次尝试从 hid
中删除引号,如果它是 INT 而不是 VARCHAR
UPDATE hts SET assigned=1, Owner='ms' WHERE hid=217477
不确定为什么要将整数存储为字符串。如有疑问,您应始终按其预期数据类型存储数据。
建议:将数据类型从 varchar 更改为 int。你的更新看起来像这样。
UPDATE hts SET assigned=1, Owner='ms' WHERE hid=217477
分配的应该是整数和隐藏
关于mysql - 为什么mysql匹配行不更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25142982/