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 回答