如何在mysql中使用另一个值更新一个值

时间:2014-08-07 10:24:31

标签: mysql sql

如何使用表格中所有记录的电子邮件字段值更新用户名字段。

update table1 set username = (select email from table1);

我知道这是错误的方法。但我没有得到正确的方法。

2 个答案:

答案 0 :(得分:3)

只需使用

UPDATE table1 SET username = email;

答案 1 :(得分:2)

示例数据:

Uname  Email
a      abc@mail.com
b      def@mail.com
c      ghi@mail.com
  • 如果您希望输出为:

    Uname            Email
    abc@mail.com     abc@mail.com
    def@mail.com      def@mail.com
    ghi@mail.com      ghi@mail.com
    

    然后使用:

    UPDATE table1 set Uname  = EMAIL
    
  • 如果您希望输出

    Uname            Email
    abc@mail.com      abc@mail.com
    b                 def@mail.com
    c                 ghi@mail.com
    

    然后使用,

    UPDATE TABLE1 SET UNAME = EMAIL WHERE UNAME='a';
    
  • 如果您希望输出

    Uname            Email
    abc@mail.com      abc@mail.com
    abc@mail.com      def@mail.com
    abc@mail.com      ghi@mail.com
    

    然后使用,

    UPDATE TABLE1 SET UNAME = (SELECT EMAIL FROM TABLE1 WHERE UNAME='a');