博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql根据查询结果更新
阅读量:6951 次
发布时间:2019-06-27

本文共 576 字,大约阅读时间需要 1 分钟。

hot3.png

本文以t_product,t_model,t_user三个表为例来说明:

目标:将满足条件的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

转载于:https://my.oschina.net/ordinance/blog/517998

你可能感兴趣的文章
openstack相关资料集结
查看>>
初学SQL
查看>>
MyBatis多参数传递之默认命名方式示例——MyBatis学习笔记之十二
查看>>
一道面试题,设计电路,set,reset
查看>>
使用dialog插件弹出提示和确定信息对话框8-8
查看>>
Hibernate4实战 之 第五部分:Hibernate的事务和并发
查看>>
弎问笔录30 之 狐狸和兔子(二)
查看>>
VBOX下安装RHEL5.4增强工具失败的解决办法
查看>>
php.ini配置文件
查看>>
运维自动化之zabbix(添加Graph screen)(3)
查看>>
AJAX跨域请求JSONP
查看>>
python交换模式、vim模式TAB自动补齐
查看>>
LCS最长公共子序列——动态规划
查看>>
封装、继承和多态
查看>>
Linux 要如何查看系统架构
查看>>
hadoop
查看>>
Servlet(Request.Response)+文件上传
查看>>
GRUB
查看>>
MFC_创建菜单栏
查看>>
Flash互动网站设计学习-Flash发展历史
查看>>