面试官讲我 update 修改 不规范 想知道是哪里有问题?
update tet_1 t,result r set t.login_name = r.login_name where t.id_number = r.id_number;
update tet_1 t left join result r on t.id_number = r.id_number set t.login_name = r.login_name; -- 我的方式
update语法格式:
UPDATE table_name
SET column1=value1, column2=value2, … , column=valuen
[WHERE condition]
语法格式说明如下:
·table_name:需要更新数据的表名称。
·column1,column2,…,columnn:需要更新的字段名称。
·value1,value2,…,valuen:字段的更新值。
·condition:更新的记录需要满足的条件限制。
其中,WHERE条件语句可以省略,当省略WHERE条件语句时,更新数据表中的全部数据。
你使用 left join 更新的话, 如果右表 没有左表的数据,那不是把左表的login_name 都更新为null了么,update leftjoin 是先查询结果,再对结果更新,可以去试试看