我正在尝试创建像这样的ID“A1,A2,A3 .等,所以我尝试这样做
$q = mysql_query("SELECT merge_id FROM merge_info ORDER BY merge_id DESC LIMIT 1;");
$s = mysql_fetch_array($q);
$merge_id5 = $s['merge_id'];
$count2=mysql_num_rows($q);
if($count2>0)
{
$merge_id5 = explode("A",$merge_id5);
$mergeid_no = $merge_id5[1]+1;
$merge_id6 = $mergeid_no;
}
else
{
$merge_id6 ="1";
}
if($count<1)
{
$merge_id = $merge_id5;
}一切都很好..。但是在创建A9之后,它再次创建A10 --创建A10 ,而不是移动到A11,A12。等等, --我想如果我写了正确的查询来获取最后插入的行,我会修复这个问题
谁来帮帮我
db table :
merge_id | name |
A1 | xxxx |
A2 | yyyy |
A3 | zzzz |
....
....
A9 | sds |
A10 | dsfs |发布于 2014-06-30 07:48:12
我知道这不是解决你问题的最好办法,但这会对你有所帮助。只需获得第一条记录,因为如果我添加LIMIT 1,则输出是错误的:
SELECT * FROM merge_info ORDER BY LENGTH(merge_id) DESC发布于 2014-06-30 06:53:50
将查询更改为:-
SELECT MAX(merge_id) FROM merge_info;发布于 2014-06-30 07:35:11
我认为最好使用auto_increment字段来获得带有LAST_INSERT_ID()的最后一个插入行,否则您无法确定最后一行是否是您插入的行。
再见。要使用您的解决方案,请使用以下命令。
ORDER BY SUBSTRING(merge_id,2) DESChttps://stackoverflow.com/questions/24484175
复制相似问题