mysql - 为什么mysql匹配行不更新?

标签 mysql

由于某些原因,行似乎没有被更新。知道为什么会这样吗?

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/

相关文章:

php - 如何将 postgresql 数据库与 mysql 数据库中的数据同步?

mysql - 在 MySQL 中创建外键

mysql - 由于非法字符而无法删除数据库

php - 使用 PDO 插入行不起作用

mysql - WHERE 语句中的 OR 的全表扫描

mysql 5.5升级-性能损失较大

MYSQL 按列分组

MySQL的mediumint通过jdbc

mysql - 在 Ruby on Rails 中列出数据库中的可用表

php - 如何每天从另一台服务器自动加载数据