`

mysql update select 从查询结果中更新数据

 
阅读更多
实际案例:

UPDATE chat_messages  as a INNER JOIN (SELECT *from chat_messages  WHERE receiver='lisi' and receiver_no=2 and ( msg_id- last_id)>0 ORDER BY id LIMIT 2) as b ON a.id=b.id
SET a.last_id=a.msg_id

一下来自网上总结:

先select出来 然后在update 一下  条件不变

UPDATE tab_game_version  as a INNER JOIN tab_game_version as b ON a.id=b.id
SET a.advert_data=0 where a.advert_data is NULL


----

# update select 语句(注意:必须使用inner join)
# 语法 update a inner join (select yy from b) c on a.id =c.id set a.xx = c.yy
#SELECT knowledge_id,COUNT(0) nums FROM pro_base_timu_knowledge GROUP BY knowledge_id;
UPDATE pro_base_knowledge
INNER JOIN (
SELECT
knowledge_id,
COUNT(0) nums
FROM
pro_base_timu_knowledge
GROUP BY
knowledge_id
) b ON pro_base_knowledge.id = b.knowledge_id
SET pro_base_knowledge.timu_num = b.nums
分享到:
评论

相关推荐

    MySQL锁类型以及子查询锁表问题、解锁1

    MySQL锁类型以及查询锁表问题、解锁MySQL中select * for update锁表的范围MySQL中select * for update锁表的问题由

    MySQL中SELECT+UPDATE处理并发更新问题解决方案分享

    主要介绍了MySQL中SELECT+UPDATE处理并发更新问题解决方案分享,需要的朋友可以参考下

    mysql事务select for update及数据的一致性处理讲解

    MySQL中的事务,默认是自动提交的,即autocommit = 1; 但是这样的话,在某些情形中就会出现问题:比如: 如果你想一次性插入了1000条数据,mysql会commit1000次的, 如果我们把autocommit关闭掉[autocommit = 0],...

    MySQL UPDATE 更新

    如果我们需要修改或更新 MySQL 中的数据,我们可以使用 SQL UPDATE 命令来操作。 语法 以下是 UPDATE 命令修改 MySQL 数据表数据的通用 SQL 语法: UPDATE table_name SET field1=new-value1, field2=new-value2...

    根据update语句自动生成select语句

    根据update语句自动生成select语句.

    MySQL并发更新数据时的处理方法

    实际上MySQL是支持给数据行加锁(InnoDB)的,并且在UPDATE/DELETE等操作时确实会自动加上排它锁。只是并非只要有UPDATE关键字就会全程加锁,针对上面的MySQL语句而言,其实并不只是一条UPDATE语句,而应该类似于两...

    Mysql 数据库死锁过程分析(select for update)

    近期有一个业务需求,多台机器需要同时从Mysql一个表里查询数据并做后续业务逻辑,为了防止多台机器同时拿到一样的数据,每台机器需要在获取时锁住获取数据的数据段,保证多台机器不拿到相同的数据。 我们Mysql的...

    MySQL数据库update更新子查询

     UPDATE test.tb_vobile a  set a.name = '111 '  WHERE  a.id = (select max(id) id from test.tb_vobile)  报错:  [SQL]UPDATE test.tb_vobile a  set a.name = '111 '  WHERE  a.id = (select...

    根据表名及字段,自动生成insert,update,select语句

    首先在数据库中创建存储过程和方法,然后调用创建好的存储过程,生成带有与表名及字段相关的insert,update,delete语句,变量与表字段名相同,例如: "insert into temp (col1,col2,col3) values ('"+col1+"','"+col2...

    mysql 查询语句大全及用法10条.docx

    - 用法:用于从数据库中检索数据。 - 示例: SELECT * FROM 表名;(检索表中的所有数据) SELECT 列 1, 列 2 FROM 表名 WHERE 条件;(根 据条件检索指定列的数据) 2. INSERT 语句: - 用法:用于向数据库中...

    mysql 查询语句大全及用法10条.7z

    - 用法:用于从数据库中检索数据。 - 示例: SELECT * FROM 表名;(检索表中的所有数据) SELECT 列 1, 列 2 FROM 表名 WHERE 条件;(根 据条件检索指定列的数据) 2. INSERT 语句: - 用法:用于向数据库中...

    MySQL中文参考手册.chm

    11 MySQL 基准套件 12 MySQL 实用程序 12.1 各种 MySQL 程序概述 12.2 管理一个 MySQL 服务器 12.3 从 MySQL 数据库和表中倒出(dump)结构和数据 12.4 从文本文件导入数据 12.5 ...

    MySQL命令大全

     此操作使testuser能够在每一个test数据库中的表执行SELECT,INSERT和DELETE以及UPDATE查询操作。现在我们结束操作并退出MySQL客户程序:  mysql> exit  Bye9! 1:使用SHOW语句找出在服务器上当前存在什么...

    QT的mysql数据库操作类

    (5)更新数据方法:db->update(dataList); (6)查一条数据方法:db->find(); (7)查询多条数据方法:db->select(); (8)删除一条数据:db->del(); (9)清空一个数据表所有数据:db->clear(); (10)统计数量...

    mysql 数据表中查找重复记录

    浅谈MySQL临时表与派生表Mysql跨表更新 多表update sql语句总结mysql锁表和解锁语句分享MySQL中基本的多表连接查询教程MySQL表字段设置默认值(图文教程及注意细节)MySQL中使用表别名与字段别名的基本教程mysql查询...

    mysql SELECT FOR UPDATE语句使用示例

    本文介绍在mysql中使用mysql SELECT FOR UPDATE 语句时的一些问题与解决办法

    MySQL 5.1中文手冊

    2.3.11. 从Windows命令行启动MySQL 2.3.12. 以Windows服务方式启动MySQL 2.3.13. 测试MySQL安装 2.3.14. 在Windows环境下对MySQL安装的故障诊断与排除 2.3.15. 在Windows下升级MySQL 2.3.16. Windows版MySQL同Unix版...

Global site tag (gtag.js) - Google Analytics