mysql一条语句修改A表数据等于B表数据
2017-01-20 09:51
387 查看
UPDATE video_teacher AS t SET t.thumb = (SELECT v.image FROM video AS v WHERE v.teacher_id=t.id);
oracle是正常的, 但是mysql会报错。
Error Code : 1093
You can't specify target table 't' for update in FROM clause
意思是,要修改的表,就不能在后面子查询语句中使用。
作如下修改就好了:
UPDATE video_teacher AS t SET thumb= ( SELECT image FROM video WHERE teacher_id=t.id LIMIT 1);
注意:
limit 1 是做一个优化, 哪怕是查找id唯一的一条数据, 写 limit 1 也是有效的, 找到之后不会往下查找
oracle是正常的, 但是mysql会报错。
Error Code : 1093
You can't specify target table 't' for update in FROM clause
意思是,要修改的表,就不能在后面子查询语句中使用。
作如下修改就好了:
UPDATE video_teacher AS t SET thumb= ( SELECT image FROM video WHERE teacher_id=t.id LIMIT 1);
注意:
limit 1 是做一个优化, 哪怕是查找id唯一的一条数据, 写 limit 1 也是有效的, 找到之后不会往下查找
相关文章推荐
- 根据mysql表中数据的存在与否,一条语句进行修改以及新增
- MySQL一条语句实现同时查询和修改
- 【MySQL】通过select语句把一列数据拼接成一条字符串
- 笔记:mysql修改数据表表名sql语句。
- Mysql 一条SQL语句实现批量更新数据,update结合case、when和then的使用案例
- 安卓SQLite 根据某一字段查询一条数据 根据某一字段排序 添加 修改 删除某一字段等于某某的那一条数据
- Mysql 一条SQL语句实现批量更新数据,update结合case、when和then的使用案例
- Mysql 一条SQL语句实现批量更新数据,update结合case、when和then的使用案例
- php中mysql一条sql语句查询出所有符合条件的数据,该怎么写?
- MySQL 修改数据表sql语句
- 用一条mysql语句插入多条数据
- mysql存储过程循环修改每一条数据
- MySQL数据定义语句:CREATE(创建)命令、ALTER(修改)命令、DROP(删除)
- 【SQL】如何一次(一条SQL语句)向ORACLE中插入多组/多条数据,不同于mysql
- mysql命令行命令和SQL语句,MySQL修改删除增加字段类型,字段数据等。。
- 【一条mysql语句查询top数据】
- mysql导入导出数据中文乱码解决方法小结(1、navicat导入问题已解决,创建连接后修改连接属性,选择高级->将使用Mysql字符集复选框去掉,下拉框选择GBK->导入sql文件OK;2、phpmyadmin显示乱码的问题也解决,两步:1.将sql文件以utf8的字符集编码另存,2.将文件中sql语句中的字段字符集编码改成utf8,导入OK)
- Mysql一条sql语句实现数据去重操作
- MYSQL 修改语句(数据)
- Mysql 一条SQL语句实现批量更新数据,update结合case、when和then的使用案例