mysql多表更新语句?
MySQL语法: UPDATE table_references SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition] MySQL 示例: update landleveldata a, gdqlpj b set a.gqdltks= b.gqdltks, a.bztks= b.bztks where a.GEO_Code=b.lxqdm 实质上还是更新一个表,update语句不可能同事更新两个表的,这个是多表关联的意思
my sql如何一行更新多个数据?
SQL 用update语句一次更新多个字段语句格式如下: UPDATE 表名 SET 列名1=值,列名2=值2,... [WHERE 条件] 多个字段时可以用逗号隔开,每个 字段名=值 就是给字段赋值,其后的WHERE 条件语句可以用也可以不用
用mysql取另一张表的数据做update可以吗?
在做update的时候,经常会遇到想把a表的值,通过公共字段连接修改成b表的值
这时候在oracle中,可以使用
图片来源:网络
update <table1_name> tab1set <column_name> = (select <column_name> from <table2_name> tab2 where tab1.**=tab2.**);
但是相同的操作在mysql中操作,就会报错,错误大概:
[Err] 1093 – You can’t specify target table ‘tab1’ for update in FROM clause
原因是对同一张表进行了读写操作,那么在mysql可以用join的方式去做update:
update <table1_name>,<table2_name>
set <table1_name>.** = <table2_name>.**
where <table1_name>.** = <table2_name>.**; —–公共字段