我需要一个SQL update语句来更新所有行的特定字段,并在现有值的前面添加一个字符串"test".

例如,如果现有值为"try",则应变为"testtry".

推荐答案

您可以使用CONCAT功能来实现这一点:

UPDATE tbl SET col=CONCAT('test',col);

如果你想变得更聪明,只更新没有预先测试的列,试试看

UPDATE tbl SET col=CONCAT('test',col)
WHERE col NOT LIKE 'test%';

Mysql相关问答推荐

我如何才能从MySQL过程中获取LARAVEL端的数据?

MySQL::JSON列的添加使SELECT查询非性能(当需要临时表时)

SQL:如何 Select 每个客户最后购买的产品?

将上传文件的存储路径放在一张表中的缺点是什么?

是否可以使用 IN 或 NOT IN 从没有关联其他表中任何行的表中返回这些名称?

有没有比使用 MySQL 计划事件更好的方法来更新我的数据库表中的列?

如何获取从开始时间到结束时间的所有正在运行的作业(job)的总和?

如何在每个国家/地区查询 GHTorrent(类 SQL 语言)的最常用语言

在 MySQL 中为多列创建索引以进行查询优化

如何在 SQL 中的一行中查找最小值和最大值?

结果差异(MySQL 5.7 vs MySQL 8.0)

docker-entrypoint-initdb 中的 MySQL 脚本未执行

从mysql中的大表中快速 Select 随机行

PHP MySQLI 防止 SQL 注入

我可以在单个 Amazon RDS 实例上创建多少个数据库

Mysql中int(10)的最大大小是多少

如何计算表格的列数

MySQL术语约束与外键的区别?

如何将具有相同列值的mysql行分组为一行?

带有 WHERE 子句的 MySql 内连接