我的朋友几天前问我改变她的数据库记录,但问题是,它不仅仅是一些记录,大约有1000条记录,我没有时间和神经手动完成它。可以用某种正则表达式来改变它吗?
我将数据库表导出到XML以获得更好的视图,这里是它的片段:
<table name="rozdzialy">
<column name="nrrozdzialu">1</column>
<column name="link">http://www.4shared.com/file/97583406/1770dfa5/AAA_vol_1_ch_1_MiA.html</column>
<column name="link2">AAA/[MiA] AAA vol. 1 ch. 1.zip</column>
<column name="idtomu">14</column>
</table>
<table name="rozdzialy">
<column name="nrrozdzialu">1</column>
<column name="link">http://www.4shared.com/file/96401389/bd0b05e2/7th_Period_is_a_Secret_vol_1_ch_1_MiA.html</column>
<column name="link2">7th Period is a Secret/[MiA] 7th Period is a Secret vol. 1 ch. 1.zip</column>
<column name="idtomu">17</column>
</table>
“link1”是带有旧链接的记录,“link2”是new的位置(其他记录为空)。 “link1”包含创建新链接所需的所有数据。例如: ... /文件/ 97583406 / 1770dfa5 /的 AAA_vol_1_ch_1 _MiA.html 该地址的新链接如下所示:“AAA / [MiA] AAA vol.1 ch.1.zip
可以这样做吗?
答案 0 :(得分:0)
如果您只想替换整个网址:
UPDATE rozdzialy SET link = link2
或者,如果要在保留前面的hsot / path的同时替换文件名部分:
UPDATE rozdzialy SET link = CONCAT(
LEFT(link, CHAR_LENGTH(link) - CHAR_LENGTH(SUBSTRING_INDEX(link, '/', -1))),
link2
)