MySQL查询找到最后一个插入代码

时间:2012-08-23 12:24:13

标签: mysql cakephp

我有代码例如:

PC_MB_TC_0001
PC_GH_TY_0002
PS_AB_VH_0003
IC_WC_XX_0001
IH_ML_FR_0002

这些代码是系统生成的。我使用了逻辑:首先找到以'P'开头的代码计数。然后在该计数中加1。 此逻辑工作正常,但从数据库中删除代码时将失败。 那么有任何MySQL查询可以做到这一点,或者任何人都可以帮助我解决其他逻辑。

我正在使用cakePhP。

非常感谢

3 个答案:

答案 0 :(得分:0)

如果您可以使用MyISAM,您可以创建一个多列自动增量,为您完成工作。您需要将字符串和自动递增数字存储在单独的列中,以使此解决方案起作用。

  

对于MyISAM表,您可以在多列索引中的辅助列上指定AUTO_INCREMENT。在这种情况下,AUTO_INCREMENT列的生成值计算为MAX(auto_increment_column)+ 1 WHERE prefix = given-prefix。

答案 1 :(得分:0)

你可以尝试

SELECT 1+MAX(CONVERT(RIGHT(your_column_name, 4), SIGNED)) as newindex
FROM your_table
WHERE your_column_name LIKE 'P%';

答案 2 :(得分:0)

您可能想尝试查看

echo $this->ModelName->getInsertID();

echo $this->ModelName->getLastInsertID();

这些将为您提供MySQL记录的最后插入ID。然后你可以查找该id的代码值。