mysql - Select 有效,但不能更新包含所有空格的字符串的行——为什么?

标签 mysql

这个查询

SELECT count(data_id)
FROM cdiac_data_AL
WHERE (data_id >= 1 and data_id <= 30437) 
AND (TMIN_flags = '')

返回 844 条记录,但更新查询影响 0 条记录:

UPDATE cdiac_data_AL set TMIN_flags='   ' 
WHERE (data_id >= 1 and data_id <= 30437)  
AND ( TMIN_flags = '' )

我错过了什么?

TMIN_flags 是:

char(3) ascii_general_ci, allow null, default NULL  

最佳答案

这是因为 CHAR 数据类型不保存尾随空格。 您应该将 TMIN_flags 数据类型更改为 binary

关于mysql - Select 有效,但不能更新包含所有空格的字符串的行——为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7311551/

相关文章:

php - 查找并替换数据库修改脚本中的所有内容以返回受影响的行

php - 如何在 JSON 响应中表示 MySql 零填充

mysql - 使用 username=email 保存用户时出现 IntegrityError

php - Yii2 中的 ModelSearch 查询错误

c# - LINQ 包含可空 guid 字段

php - 不同国家、州、地理位置的动态下拉列表?

javascript - 使用 php 和 js/jquery 编辑 html 表中的行并将其保存在 db 中

MySQL跨多个表计数并获得单个值

mysql - 扩展数据库以进行群组/协作消息传递

mysql - 仅当记录不存在时插入表