使用相同的表值更新表

时间:2014-05-28 06:50:24

标签: mysql sql sql-update

我想通过添加相同的表值来更新SQL表。

原始表

a    |
------
?abc  |  
?def  |
?ghi  |

更改后,

a       |
----------
?a=abc  |  
?a=def  |
?a=ghi  |

我想编写一个SQL语句来执行此操作。 任何帮助都会表示赞赏。

2 个答案:

答案 0 :(得分:2)

也许是这样的:

UPDATE Table1
SET Table1.a=REPLACE(Table1.a, '?', '?a=');

你也可以这样做:

UPDATE Table1
SET Table1.a=CONCAT('?a=',SUBSTRING(Table1.a,2));

或者这个:

UPDATE Table1
SET Table1.a=CONCAT('?a=',MID(Table1.a,2))

修改

解决评论。你可以这样做:

select 
    REPLACE(testStr,CONCAT('&',substring_index(testStr,'&',-1)),'')
FROM
(
    SELECT 'ab&cd&id=123' as testStr
) as tbl
;

参考:

答案 1 :(得分:0)

试试这样。

    REPLACE VIEW view_name AS
    SELECT a
    FROM Table1
    WHERE '?'='?a='