3

質問の愚かさをお詫びしますが、MySQLの完全な新人であり、このドキュメントを読むことすら問題を抱えています。「homeid」と「indid」の2つの列を持つテーブルがあります。これらは両方とも整数データフィールドです。これらをハイフン付きの新しい変数「uid」に連結したいと思います。必要な出力は次のようになります。

uid   homeid   indid
10-1  10       1
10-2  10       2
11-1  11       1

私は次のコードを試しました。これは、連結された変数が存在する変数「uid」を生成することで問題なく動作しますが、それ以上は機能しないようです(エラーは発生しません)。

ALTER TABLE table_name
add column uid varchar(10) FIRST; /*adds column uid to table "table_name" as first column*/

UPDATE table_name
SET uid=CONCAT('-' , homeid, indid);

あなたの助け(そして忍耐)を前もって感謝します。

4

2 に答える 2

10

ここで必要な関数はCONCAT_WS()、区切り区切り文字を使用する-か、引数をCONCAT()次のように変更することです。

UPDATE table_name SET uid = CONCAT_WS('-' , homeid, indid);

または、引数を次のように変更しますCONCAT()

UPDATE table_name SET uid = CONCAT(homeid, '-', indid);
于 2012-01-24T03:24:07.257 に答える
-1

次のクエリを試してください。

UPDATE table_name SET uid=CONCAT('-' , homeid, indid) where homeid > 0;
于 2012-01-24T03:18:44.167 に答える