使用 id 更新 mysql 数据库电子邮件列

updating mysql database email column with id

我正在尝试使用同一行的站点 ID 更新数据库中用于电子邮件的列。. 我尝试了以下方法:

UPDATE LOCATIONS 
SET email ='se".site_id."@myemail.com' 
WHERE customer='MyCustomer' AND site_id='5555';

预计电子邮件列为 myemail.com 处的 se5555 但事实并非如此。我应该使用 CONCAT 吗?

像这样使用 mysql 的 concat 函数:

 UPDATE LOCATIONS SET email = concat('se',site_id,'@myemail.com') WHERE   
 customer='MyCustomer' AND site_id='5555';

你绝对可以使用concat()。我也喜欢使用 replace() 进行这种类型的操作:

UPDATE LOCATIONS
    SET email = replace('se<site_id>@myemail.com', '<site_id>', site_id)
    WHERE customer = 'MyCustomer' AND site_id = '5555';

这在您有多个替换时很有用 -- 第一个参数是一个模板,因此更容易看到您在做什么和进行修改。