37

私はこれに対する答えを検索して検索しましたが、これはSQLを知っている人(私ではない)にとっては子供の遊びに違いないと思います。

DB のテーブルのフィールドの値にプレフィックスを挿入したいと考えています。

より具体的には、「タイトル」フィールド(私の joomla サイトのコンテンツ項目のタイトルを含む)を持つテーブル jos_content があります。

このフィールド「タイトル」のすべての値は個人の名前です。ここでやりたいことは、接頭辞「Mr.」を追加することだけです。このフィールドのすべての値に。

これは phpmyadmin から編集鉛筆アイコンをクリックし、すべての値の前に Mr. を追加するだけで実行できますが、約 750 行と、'Mr.' のプレフィックスを挿入できる SQL コマンドがあります。このフィールドのすべての値の前にあると非常に役立ちます。

「UPDATE」コマンドについて読みましたが、それは値をあなたが提供したものに置き換えます。しかし、値をそのままにして、それらの前にプレフィックスを追加したいと思います。

SQLコマンドでこれを達成するのを手伝ってくれる人はいますか?

ありがとうございます。

4

4 に答える 4

87

すべての行でこれを更新するような他の条件がない場合は、試すことができます

UPDATE jos_content SET title = CONCAT('Mr. ', title) 

条件付きで更新したい場合は、特定の行を更新する必要があることを意味します

 UPDATE jos_content SET title = CONCAT('Mr. ', title)  where fiedl_name ='condition'

eg: UPDATE jos_content SET title = CONCAT('Mr. ', title)  where id = '1'

これにより、id=1 を含む 1 つの行のみが更新されます。

これを行う前に、何らかの方法でバックアップを保持する必要があります

于 2012-11-13T13:25:23.710 に答える
5
update tablename set title = 'Mr. ' || title where ....
于 2012-11-13T10:23:41.383 に答える
5

UPDATE jos_content SET title = CONCAT('Mr. ', title) WHERE 1

クエリをテストする前に、データベースのバックアップを作成してください。

于 2012-11-13T11:25:41.580 に答える
1

このようにしてください

たとえば、国コードの前に +symbol を追加したい場合:

UPDATE [masters].[country] SET Countrycode = '+' +Countrycode
于 2016-01-11T15:05:20.427 に答える