我正在创建一个测试数据库。我有一堆专栏,我想“清除”敏感信息,以便我可以处理它。
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 中执行此操作会更容易。
对于您的情况,它将是:
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
是的,如果您正在使用更新,您应该已经拥有该 ID。如果是 php,它看起来像:
$query = 'Update email set email="email'.$id.'@no-reply.com where email.id='.$id;
$query
您正在构建的查询字符串在哪里,并且$id
是您用来引用记录的记录 ID。
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子句对可以更新的行数进行了限制。