在我的数据库中,我有个人电子邮件字段,其中包含用户电子邮件。我只想将所有用户电子邮件更新为我的测试电子邮件。
个人电子邮件
例如。
john@gmail.com
>> test1@test.com
alves@gmail.com
>> test2@test.com
请注意,我有40,000多条记录,因此我想使用sql更新查询来更新不等于null的个人电子邮件字段
答案 0 :(得分:2)
猜您的用户表是这样的:-
| id | username | email | password |
--------------------------------------------------
| 1 | john | john@gmail.com | $jhbhbjj.. |
| 2 | alvis | alvis@gmail.com | $dcdcdcd.. |
现在我们将每个电子邮件字段更新为以下格式
newemail = "test"+id+"@test.com".
// id is the auto increment column
我们可以使用mysql concat将这些字符串和列连接在一起。 https://www.w3schools.com/sql/func_mysql_concat.asp
所以我们正在使用concat("test",id,"@test.com")
运行UPDATE users SET email= CONCAT("test",id,"@test.com")
之后
您可以得到如下表格
| id | username | email | password |
--------------------------------------------------
| 1 | john | test1@test.com | $jhbhbjj.. |
| 2 | alvis | test2@test.com | $dcdcdcd.. |
答案 1 :(得分:0)
尝试
UPDATE users
SET email = CONCAT("test",id,"@test.com")
这样,您可以在更新查询中使用表的主键而不是id。
答案 2 :(得分:0)
您可以使用此命令;
UPDATE tblEmail SET tblEmail.column = `new value` WHERE tblEmail.column like('old value');
在WHERE子句中使用LIKE运算符在列中搜索指定的模式。 -> https://www.w3schools.com/SQL/sql_like.asp