mysql - 使用 mysql 命令在 LONGTEXT 上添加文本以结束

标签 mysql subquery

实际使用命令将一些文本添加到一个字段 LONGTEXT

UPDATE table SET field = CONCAT_WS(CHAR(10 USING UTF8), filed, 'SOME TEXT ADD') WHERE other_filed = 'somestatus'

但我喜欢修改我的策略来添加它。

我需要检查是否存在 'SOME TEXT ADD',如果存在则什么都不做,如果不存在,则添加文本。

我在stackoverflow上看到一些文章,但是都在讲其他问题,相似但内容不一样

作为最后一个墨盒,我放了两部作品

首先添加“SOME TEXT ADD”,然后用户替换重复文本。

UPDATDE table SET field = REPLACE(field, 'SOME TEXT ADD SOME TEXT ADD', 'SOME TEXT ADD');  

但这是非常错误的做法。

我正在使用 MariaDB 10.X(或 MySQL 5.7 >)

最佳答案

您可以直接使用 where 条件来检查是否存在,例如使用 like

UPDATE table 
SET field = CONCAT_WS(CHAR(10 USING UTF8), filed, 'SOME TEXT ADD') 
WHERE other_filed = 'somestatus'
and field like '%SOME TEXT ADD%';

关于mysql - 使用 mysql 命令在 LONGTEXT 上添加文本以结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43724990/

相关文章:

mysql - 将mysql查询结果导出到csv文件的问题

mysql - 插入到mysql中损坏的查询

php - PDO 多重查询理解问题

mysql - 有人可以改进这个查询吗?

sql - 带有子查询的 Oracle PIVOT 子句示例

PHP PDO 获取所有表

mysql - 查询一次选择并检查 1 行并在找到正确的值时停止(MYSQL)?

php - SQL 笛卡尔选择框

MYSQL JOIN 并根据 MA​​X 获取整行

mysql - 分组依据将最旧和最新的日期放入一行