php - 更新 mysql 表中的部分值

标签 php mysql sql database database-table

我在 mysql 中有一个表“users”,其中包含大约 2K 条记录。在表中,有一个字段“状态”。状态可以是 2 到 3 个字。在少数状态下,末尾有一个空格,后跟一个星号标记。我想删除空格和星号。请帮我查询以更新值。这里有一些例子

Not smiling
always laughing *
never jumps *
keep it up
oh my god *

我想将其更改为:

Not smiling
always laughing
never jumps
keep it up
oh my god

SELECT * FROM users WHERE ?????? (条件怎么写?)

编辑:
谢谢大家的回答。考虑到替换 2000 多条记录、计算机资源的利用、内存、效率等,有人可以阐明哪个答案是最好的...

最佳答案

您可以使用以下语法/命令来搜索和替换 *

update users set status = replace(status, ' *', '') where instr(status, ' *') > 0;

这将找到带 * 的字符串并替换不带 * 的字符串。

希望对您有所帮助。

关于php - 更新 mysql 表中的部分值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26707633/

相关文章:

SQL SERVER - 当不匹配条件时获取 0 而不是现在的行

php - (MySQL) 按字段分组并选择 COUNT(字段) 和分组行数

PHP header 重定向不起作用

MySQL,使用带 2 个键的 ORDER BY

mysql - 将 mysql 转储发送到亚马逊 S3

mysql - 子查询中的未知列

sql - 如何将变量传递给 View 中的子选择

javascript - PHP:在其他文件夹中包含 'nav.php' 和 Logo 路径

php - 不要显示值(value) 0 美元的 WooCommerce 订阅的经常性价格

php - 返回从 MySQL 查询达到字段金额总和的行