我正在创建一个测试数据库。我有一堆列,我想“清除”敏感信息,以便我可以处理它。
id email
1 email1@no-reply.com
2 email2@no-reply.com
# email#@no-reply.com
basicall我想做UPDATE table SET email = "email" + id + "@no-reply.com
我打算用Python做这件事,但是想在SQL中做这件事会更容易。
答案 0 :(得分:2)
对于你的情况,它将是:
UPDATE table
SET email = CONCAT( "email", id, "@no-reply.com" );
我只是在我自己的mysql表late
上使用它。结果如下:
mysql> update late
-> set msg = concat( id, " ", msg );
Query OK, 74397 rows affected (4.15 sec)
Rows matched: 74397 Changed: 74397 Warnings: 0
答案 1 :(得分:1)
是的,如果您使用的是更新,则您应该已拥有该ID。如果它是php,它看起来像:
$query = 'Update email set email="email'.$id.'@no-reply.com where email.id='.$id;
$query
是您正在构建的查询字符串,$id
是您用来引用记录的记录ID。
答案 2 :(得分: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 子句(如果给定)指定用于标识要更新的行的条件。使用 no WHERE 子句,所有行都会更新。如果指定了 ORDER BY 子句,则按指定的顺序更新行。 LIMIT 子句限制了可以更新的行数。