2

id、urlの2つの列を持つMySQLデータベーステーブルがあります

url列には「http://www.example.com/」のような値があります。

すべての列値の先頭に「http://www.x.com?redirect=」のような文字列を追加する必要があります。つまり、次のように値を変更します。http: //www.example.com/ == => http://www.x.com?redirect=http://www.example.com/

誰かが私がそれをどのように行うことができるかについていくつかの手がかりを持っていますか?

CONCAT()の使用を検討しましたが、これまでのところ、それを機能させることができませんでした:(

助けてくれてありがとう、ルイザ

4

4 に答える 4

7

concatを使用すると、次のようになります。

update table set url=concat('http://www.x.com?redirect=',url);
于 2012-12-22T00:24:04.440 に答える
6

はい、使用できますCONCAT

SELECT CONCAT('http://www.x.com?redirect=', url) AS url
FROM yourtable

オンラインで動作することを確認してください:sqlfiddle

于 2012-12-22T00:23:42.940 に答える
1

あなたはこれを行うことができます:

Update myTable
SET data= (SELECT CASE WHEN data IS NULL THEN '' ELSE data END AS data WHERE id = 1) + 'some text'
WHERE id = 1

フィールド=フィールド+値は、フィールドがnullの場合は機能しません。

于 2013-05-24T18:20:39.197 に答える
0

このSO回答のコードスニペットを見てください:

update t set data=concat(data, 'a');

同様の何かが機能するはずです:

update t set data=concat('http://www.x.com?redirect=', data);

于 2012-12-22T00:26:56.793 に答える