mysql 在行值之间插入列值

jslywgbw  于 2023-03-07  发布在  Mysql
关注(0)|答案(2)|浏览(131)

在我的数据库中,我有超过1000行的数据需要修改。* content * 列。我试过了,最接近的是使用RPAD

UPDATE TABLE_NAME SET content = RPAD("mySlides/", LENGTH(username)+9, username);

使用RPAD删除所有的文本后,虽然,所以我相信RPAD是不是这样去。
我尝试在"mySlides/"文本后面插入 * username * 列,但也不删除后面的文本。只需将其放在中间。
这可能吗?

    • 这是我模拟的一个例子。**

任何帮助都是感激的!

iqxoj9l9

iqxoj9l91#

UPDATE table_name 
SET content = REPLACE( content, 
                       'mySlides/', 
                       CONCAT( 'mySlides/', 
                               username, 
                               '/'
                              )
                       )
u0sqgete

u0sqgete2#

实现这一点的一种方法是使用CONCAT函数。
下面是一个例子:

UPDATE TABLE_NAME_C
SET content = CONCAT('<img src="../myslides/', username, '/', SUBSTRING(content, INSTR(content, '/')+1));

解释
INSTR()用于查找“/”第一次出现的位置。SUBSTRING()从字符“/”第一次出现后的位置开始提取内容列的子字符串,直到字符串结束。
分贝小提琴:https://www.db-fiddle.com/f/fpoiGLnEzFQAmFRkkibEWn/1

相关问题