首页 > 数据库 > mysql教程 > mysql模拟队列_MySQL

mysql模拟队列_MySQL

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
发布: 2016-06-01 13:34:45
原创
1364 人浏览过

bitsCN.com

mysql模拟队列

 

Java代码  

-- 初始化数据  

DROP TABLE IF EXISTS t_msg_queues;  

CREATE TABLE t_msg_queues(  

    msg_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,  

    msg_content VARCHAR(255) NOT NULL,  

    owner_thread_id INT NOT NULL DEFAULT -1,  

    PRIMARY KEY (msg_id)  

)ENGINE=INNODB DEFAULT CHARSET=utf8;  

SET @maxRandom = POWER(10,6);  

INSERT INTO `t_msg_queues`(`msg_content`)   

VALUES (CONCAT("cont_",CEIL(RAND()*@maxRandom))),(CONCAT("cont_",CEIL(RAND()*@maxRandom)))  

    ,(CONCAT("cont_",CEIL(RAND()*@maxRandom))),(CONCAT("cont_",CEIL(RAND()*@maxRandom)))  

    ,(CONCAT("cont_",CEIL(RAND()*@maxRandom))),(CONCAT("cont_",CEIL(RAND()*@maxRandom)))  

    ,(CONCAT("cont_",CEIL(RAND()*@maxRandom))),(CONCAT("cont_",CEIL(RAND()*@maxRandom)))  

    ,(CONCAT("cont_",CEIL(RAND()*@maxRandom))),(CONCAT("cont_",CEIL(RAND()*@maxRandom)))  

    ,(CONCAT("cont_",CEIL(RAND()*@maxRandom))),(CONCAT("cont_",CEIL(RAND()*@maxRandom)));  

      

-- 获取1条未处理的消息  

SET SESSION autocommit=1;  

SET @msgID = -1;  

UPDATE t_msg_queues SET owner_thread_id=GREATEST(CONNECTION_ID() ,(@msgID:=msg_id)*0)  

WHERE owner_thread_id=-1 ORDER BY msg_id LIMIT 1;  

-- 此时@msgID如果为-1,代表没有待处理的消息,否则就代表本次需要处理的msg_id  

 

bitsCN.com
相关标签:
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
mysql 升级后无法重启mysql服务的问题
来自于 1970-01-01 08:00:00
0
0
0
linux安装mysql报错
来自于 1970-01-01 08:00:00
0
0
0
MySQL停止进程
来自于 1970-01-01 08:00:00
0
0
0
phpstudy不能启动mysql?
来自于 1970-01-01 08:00:00
0
0
0
环境中mysql
来自于 1970-01-01 08:00:00
0
0
0
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板