mysql根据查询结果更新
2015-10-16 00:00
447 查看
本文以t_product,t_model,t_user三个表为例来说明:
目标:将满足条件的t_model.version从2014更新为2015
查询条件:t_user.name='test' t_model.version=2014
查询结果为t_model.id
因为mysql中You can't specify target table 't_model' for update in FROM clause错误的意思是说,不能先select出同一表中的某些值,再update这个表(在同一语句中)。 采用下述方法解决
目标:将满足条件的t_model.version从2014更新为2015
查询条件:t_user.name='test' t_model.version=2014
查询结果为t_model.id
SELECT m.id from t_model m,t_product p,t_user u where m.pid=p.id and p.uid=u.id and u.name='test' and m.version=2014
因为mysql中You can't specify target table 't_model' for update in FROM clause错误的意思是说,不能先select出同一表中的某些值,再update这个表(在同一语句中)。 采用下述方法解决
UPDATE t_model m INNER JOIN t_product p ON m.pid=p.id INNER JOIN t_user u ON p.uid=u.id SET m.version=2015 WHERE u.name='test' and m.version=2014
相关文章推荐
- 文章标题
- MYSQL序言
- Servlet学习笔记--jsp+Servlet+MySQL实现用户注册
- MySQL Binlog的介绍
- MySQL时间戳和日期相互转化
- MySQL中ROUND和TRUNCATE的区别
- mysql NULL 查找条件里包含NULL值是的情况
- navicat for mysql只导出数据表结构
- MySQL: 打开binlog选项后无法重启MySQL
- 使用sqlyog学习mysql中怎样创建用户、数据库、表
- mysql 服务器发现大量的TIME_WAIT解决办法
- mysql字符集
- mysql 5.6 mysql 5.7修改root密码 密码过期
- MySQL中数据库批量导入.SQL数据文件
- C#连接MySql
- mysql数据库的一半操作
- Mysql函数
- MySQL数据库加密和解密~认证登陆密码(mysql.user)和MySQL不区分大小写
- MySql 加锁问题
- MySQL 查询单条数据多次与一次查询多条数据的比较