mysql动态变量查询,MYSQL 动态变量赋值不对的情况

那天我碰到了个怪问题。今天解决了问题。不过具体原因还有待查找。

在WINDOWS下正常。DROP TABLE IF EXISTS `t`;CREATE TABLE `t` (`id` int(11) NOT NULL auto_increment,`g_id` int(11) NOT NULL,`t_str` varchar(255) NOT NULL,PRIMARY KEY  (`id`),key (`g_id`)) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=utf8;/*Data for the table `t` */insert  into `t`(`id`,`g_id`,`t_str`) values(1,2,'wo'),(2,2,'ni'),(3,2,'ta'),(4,3,'wo '),(5,4,'ni'),(6,3,'ni'),(7,4,'ta'),(8,3,'wang'),(9,4,'li'),(10,3,'hai'),(11,4,'ri'),(12,2,'ren'),(13,5,'ta'),(14,6,'ri'),(15,6,'ren'),(16,6,'fuck'),(17,6,'shit'),(18,5,'ls'),(19,5,'chmod'),(20,5,'chgrp'),(21,5,'chown'),(22,3,'rm'),(23,3,'desc'),(24,4,'pwd'),(25,5,'cd');错误输出mysql>  select g_id from t group by g_id order by g_id desc limit 0,1;+------+| g_id |+------+|    6 |+------+1 row in set (0.00 sec)mysql>  select g_id from t group by g_id order by g_id desc limit 0,1 into @tmp_id;Query OK, 1 row affected (0.00 sec)mysql> select @tmp_id;+---------+| @tmp_id |+---------+|       5 |+---------+1 row in set (0.00 sec)mysql> select version();+-----------------+| version()       |+-----------------+| 5.1.21-beta-log |+-----------------+1 row in set (0.00 sec)mysql>正确输出:mysql> select @tmp_id := g_id from t group by g_id order by g_id desc limit 0,1 into @tmp_id;Query OK, 1 row affected (0.00 sec)mysql> select @tmp_id;+---------+| @tmp_id |+---------+| 6       |+---------+

1 row in set (0.00 sec)

本文转自 david_yeung 51CTO博客,原文链接:http://blog.51cto.com/yueliangdao0608/81267,如需转载请自行联系原作者

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值