使用phpMyAdmin更新单个列中的所有行

时间:2015-06-26 18:41:23

标签: mysql phpmyadmin

请有人帮我写一个SQL语句,我可以使用{ "image_intro":"images\/news_images\/Logos\/Logo.png", "float_intro":"", "image_intro_alt":"", "image_intro_caption":"", "image_fulltext":"", "float_fulltext":"", "image_fulltext_alt":"", "image_fulltext_caption":"" } 来更新MySQL数据库中的表吗?

背景

我有一个名为 XYZ 的数据库和一个名为 v2rns_content

的表格

该表格包含多个列,其中一列名为图像

除了不同的文件路径Ex:

之外,images列中的每一行都具有相同的内容
i1 = i + i
i2 = 1 + i1
i3 = n - i1
i4 = 1 + i3
wtemp = wr
wr = wtemp * wpr - wi * wpi + wr
h1r = data(0)
data(0) = h1r + data(1)
h1r = data(0)
data(0) = c1 * (h1r + data(1))

images / news_images / Logos / Logo.png 是文件路径。

我想通过添加其他级别来更新此文件路径,例如

图片/ news_images /遗留/标志/ Logo.png

问题:
因此,是否可以在我的图片列中搜索 images / news_images 文本,并将此列替换为此列中所有行的 images / news_images / legacy

备注:
值得注意的是,v2rns_content表证明难以导出(由于大小和特殊字符),否则我只需在excel中查找并替换,然后使用phpMyAdmin再次导入它。

v2rns_content表包含超过20,000条记录

我不是SQL的专家,所以如果我能够使用phpMyAdmin中的SQL函数实现这一点,我将不胜感激(如果可能的话)。

提前感谢您的帮助。非常感谢。

1 个答案:

答案 0 :(得分:0)

没有对您的架构的良好观点。为了让您使用值更新所有列(相同或不同,具体取决于您在PHP中使用它做什么)。

这将取代整个值:

UPDATE v2rns_content SET image_intro ='images\/news_images\/legacy' 
WHERE image_intro LIKE '%images\/news_images%'

如果要替换部分dir路径,可能需要执行此操作:

UPDATE v2rns_content 
SET image_intro = REPLACE(image_intro , 'images\/news_images', 'images\/news_images\/legacy')

以下是官方参考页:http://dev.mysql.com/doc/refman/5.5/en/string-functions.html#function_replace