将字符串附加到符合条件的列

时间:2014-12-08 09:55:56

标签: mysql

我有一个名为"链接"的Mysql Varchar列。包含网址。例如:

" index.php的选项= com_k2&安培;图=项&安培;布局=项和ID = 35"

我想为所有包含该字符串的链接的id添加一个零字符 " index.php?option = com_k2& view = item& layout = item& id =" in

并且还符合" menutype" 列中"顶级菜单" 的标准。

结果将是这样的: 的" index.php的选项= com_k2&安培;图=项&安培;布局=项和ID = 350"

我有这个陈述

  

更新表格SET link = CONCAT_WS(''' 0'' link')WHERE   menutype ='顶菜单'

但是如何将其附加到仅链接具有字符串" index.php?option = com_k2& view = item& layout = item& id =" 的值他们?

由于

3 个答案:

答案 0 :(得分:1)

您可以使用substring_index查看id

之后是否有内容
mysql> select substring_index('index.php?option=com_k2&view=item&layout=item&id=','id=',-1);
+-------------------------------------------------------------------------------+
| substring_index('index.php?option=com_k2&view=item&layout=item&id=','id=',-1) |
+-------------------------------------------------------------------------------+
|                                                                               |
+-------------------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> select substring_index('index.php?option=com_k2&view=item&layout=item&id=0','id=',-1);
+--------------------------------------------------------------------------------+
| substring_index('index.php?option=com_k2&view=item&layout=item&id=0','id=',-1) |
+--------------------------------------------------------------------------------+
| 0                                                                              |
+--------------------------------------------------------------------------------+

因此,在更新语句中,您的条件可能为

WHERE menutype='top-menu'
and
substring_index(link,'id=',-1) = ''

答案 1 :(得分:1)

假设一个链接字段包含" index.php?option = com_k2& view = item& layout = item& id ="也始终从该值开始,这个陈述应该可以解决这个问题:

UPDATE table 
SET link = CONCAT_WS('','0','link') 
WHERE menutype='top-menu' 
AND link LIKE 'index.php?option=com_k2&view=item&layout=item&id=%'

答案 2 :(得分:0)

感谢@Ben Pi,我设法找到正确的方法

UPDATE jos_menu SET link = CONCAT(link,'0') WHERE menutype='top-menu' AND link LIKE 'index.php?option=com_k2&view=item&layout=item&id=%'