1

テストデータベースを作成しています。たくさんの列があり、機密情報を「パージ」して作業できるようにしたいと思います。

id   email
1    email1@no-reply.com
2    email2@no-reply.com
#    email#@no-reply.com

基本的にやりたいことUPDATE table SET email = "email" + id + "@no-reply.com

私はこれをPythonで行うつもりでしたが、SQLで行う方が簡単だと思いました。

4

3 に答える 3

2

あなたの場合、それは次のようになります:

UPDATE table
SET email = CONCAT( "email", id, "@no-reply.com" );

自分lateのmysqlテーブルで使用しました。結果は次のとおりです。

mysql> update late
    -> set msg = concat( id, " ", msg );
Query OK, 74397 rows affected (4.15 sec)
Rows matched: 74397  Changed: 74397  Warnings: 0
于 2012-05-25T06:35:47.427 に答える
1

はい、アップデートを使用している場合は、すでにIDを持っている必要があります。phpの場合、次のようになります。

$query = 'Update email set email="email'.$id.'@no-reply.com where email.id='.$id;

$query作成しているクエリ文字列はどこにあり$id、レコードを参照するために使用しているレコードIDです。

于 2012-05-25T06:31:49.267 に答える
0
UPDATE table_reference
SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...
[WHERE where_condition]
[ORDER BY ...]
[LIMIT row_count]

単一テーブル構文の場合、UPDATEステートメントは、名前付きテーブルの既存の行の列を新しい値で更新します。SET句は、変更する列とそれらに指定する値を示します。各値は、式として指定することも、キーワードDEFAULTを指定して、列をデフォルト値に明示的に設定することもできます。WHERE句は、指定されている場合、更新する行を識別する条件を指定します。WHERE句がない場合、すべての行が更新されます。ORDER BY句が指定されている場合、行は指定された順序で更新されます。LIMIT句は、更新できる行数に制限を設けています。

于 2013-12-15T04:53:33.983 に答える