java – 从mysql获取最后一条记录
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 从mysql获取最后一条记录,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2315字,纯文字阅读大概需要4分钟。
内容图文
![java – 从mysql获取最后一条记录](/upload/InfoBanner/zyjiaocheng/890/74d5d28499b248a6bffa31d39f29d640.jpg)
我正在使用mysql并面临一些问题.我想要检索插入的最后一行.
<<以下是详细信息>>
以下是我创建表格的方法.
create table maxID(myID varchar(4))
我在其中插入了四个值,如下所示
insert into maxID values ('A001')
insert into maxID values ('A002')
insert into maxID values ('A004')
insert into maxID values ('A003')
当我从maxID执行select myID,last_insert_id()作为NewID时,我得到如下输出
myId NewID
A001 0
A002 0
A004 0
A003 0
当我尝试下面的代码,
选择myId,last_insert_id()作为NewID,@ wingid:= @ rowid 1作为myrow从maxID,(SELECT @rowid:= 0)作为init
我得到如下输出.
myId NewID rowid
A001 0 1
A002 0 2
A004 0 3
A003 0 4
但是,当我使用代码选择myId,last_insert_id()作为NewID,@ warid:= @ rowid 1作为myrow从maxID,(SELECT @ wingid:= 0)作为init,其中@rowid = 4,我得到错误为Uknown列’myrow ‘在where子句中
当我在@ rowid = 4的地方使用时,我没有得到表格中的任何数据.
注意:这里我使用4只是为了获得所需的输出.稍后我可以从查询中获取此信息(从maxID中选择max(rowid))
如果我想只查看最后一条记录,即A003,请建议我需要做什么.
谢谢你的时间.
更新:
我的表中已有数百万个数据,因此我无法在其中添加新列,如下所示.
解决方法:
看来SELECT不能保证以任何特定顺序返回行(当然不使用ORDER BY子句).
根据SQL-92 standard(第373页):
If an < order by clause > is not specified, then the table specified by the < cursor specification > is T and the ordering of rows in T is implementation-dependent.
好的,MySQL并不完全符合SQL-92标准,但这是一个严肃的提示.
Laurynas Biveinis(显然是affiliated with Percona)also states:
The order of the rows in the absence of
ORDER BY
clause (…) could be different due to the moon phase and that is OK.
关于InnoDB的MySQL manual说:
InnoDB always orders table rows according to [a
PRIMARY KEY
orNOT NULL UNIQUE
index] if one is present.
就我而言,我假设MySQL也可以在OPTIMIZE TABLE之后重新排序行,甚至在许多删除和插入之后重复使用空格(我有tried to find an example,到目前为止已经失败).
鉴于您的表结构,不幸的是,底线是如此多的因素可能改变了行的顺序;我看不到可靠地确定插入顺序的解决方案.除非你创建表后保留所有二进制日志,当然;)
不过,您可能仍希望在表中添加序列列.将为现有行分配可能不准确的序列号,但至少将来的行将被正确排序.
ALTER TABLE maxID ADD sequence INT DEFAULT NULL;
ALTER TABLE maxID ADD INDEX(sequence);
ALTER TABLE maxID MODIFY sequence INT AUTO_INCREMENT;
http://sqlfiddle.com/#!2/63a8d/1
内容总结
以上是互联网集市为您收集整理的java – 从mysql获取最后一条记录全部内容,希望文章能够帮你解决java – 从mysql获取最后一条记录所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。