Php 自动添加新的最后一个号码

Php 自动添加新的最后一个号码,php,mysql,Php,Mysql,我在表格的一列中有这个id号 0907003 0907004 0907005 1008005 1008006 1008007 1009001 1009002 1009003 当我添加1009的新值时,它将添加004的最后三个数字,因为最后一个数字以1009(10-09)开头是003 或者,如果我添加新值1008,它将添加最后三个008 因为最后一个数字以1008(10-08)开头是007 或者,如果我添加新值0907,它将添加最后三个006 因为最后一个以0907(09-07)开头

我在表格的一列中有这个id号

0907003
0907004 
0907005

1008005 
1008006
1008007

1009001 
1009002
1009003 
当我添加
1009
的新值时,它将添加
004
的最后三个数字,因为最后一个数字以
1009
(10-09)开头是
003

或者,如果我添加新值
1008
,它将添加最后三个
008

因为最后一个数字以
1008
(10-08)开头是
007

或者,如果我添加新值
0907
,它将添加最后三个
006

因为最后一个以
0907
(09-07)开头的数字是
007

如何做到这一点

非常感谢

$front_id = $this->input->post('gameid'); //09
$middle_id = $this->input->post('netid'); //07

//$last_id will be generate automatically by sql 

$forID = $front_id.$middle_id; 

$sql = "INSERT INTO table ('colum') VALUES (".$forID.")"

如果不是自动增量coulmn,则是可能的


只需在插入时间写入逻辑。

您必须手动插入新id

    $max_of_letsay1009 = mysql_result(mysql_query("select MAX(id) from table where id like '1009%'"),0);

    // get the last 3 digits
    $new_number = (int)substr($max_of_letsay1009,-3) + 1;
或者你也可以试试这个:

    $new_id_of_letsay1009 = mysql_result(mysql_query("select MAX(id)+1 from table where id like '1009%'"),0);

这只是我的想法,还没有测试,也没有错误检查

您可以尝试下面的查询

如果您的值是1009

SELECT MAX(RIGHT(ID,4))+1 FROM TableName WHERE LEFT(ID,4) = '1009'
它将返回该系列的最大数量

请尝试查询动态ID长度

SELECT MAX(RIGHT(ID,len(id)-LEN('1009')))+1 FROM #TEMP WHERE LEFT(ID,LEN('1009')) = '1009'

您还可以将此查询用作insert语句ID列的子查询。

您可以发布一些代码或更好地解释您想要实现的目标吗?!您使用什么代码插入行?最好在php代码中使用计数器表,每个前缀一行,计数器的最后一个数字。在你描述的表上插入一个触发器或一些php代码,你就可以很容易地得到结果。我想自动添加last_id,它将从表中现有的id递增。我只想要一个简单的解决方案。拜托,人们的想法在哪里?我想要一个简单的解决方案。有什么想法吗?实际上这就是我想要的,因为我可以直接将它用作insert语句。然而,前面数字的长度是不可预测的。它可以是数百、数千或数百万。有什么办法解决这个问题吗?上述问题可能符合您的要求。