从表 #1 中获取最后一个 ID 以确定表 #2 上的新 ID


get last id from table#1 to determen new ID on table#2

我有一个旧的注册系统,一个新的。(两张表)。
旧系统包含旧类别,新系统包含一些尚无法在旧系统中实现的新类别。
因此,目前无法将所有内容移动到其中一个系统。

我的问题:
我需要连接两个表,以便 ID 作为"自动增量"运行,并且会以某种方式相互跟随。

下面是一个场景:
表#1 = 旧系统(汽车)
表#2 = 新系统(拖拉机、卡车、船用)

一辆新车在表#1中注册,得到ID:13579,
然后在表#2中注册其他车辆,应获得ID:13580,
当一辆新车再次在表#1中注册时,它应该得到ID:13581。
等等...

在我看来,它是这样的:
在将新车辆添加到其中一个表中之前,请务必在另一个表中查找并检查哪个是最后一个/最高 ID,并在设置新 ID 之前执行 +1...

更新20120614:
这是我提出的一个解决方案:

$qry_tbl1 = mysql_query('SELECT MAX(id) AS tbl1_max_id FROM tbl1');
$get_tbl1 = mysql_fetch_assoc($qry_tbl1); extract($get_tbl1);
$qry_tbl2 = mysql_query('SELECT MAX(id) AS tbl2_max_id FROM tbl2');
$get_tbl2 = mysql_fetch_assoc($qry_tbl2); extract($get_tbl2);
$new_max_id = max(array($tbl1_max_id,$tbl2_max_id)) + 1;

这不是一个好的解决方案,但我唯一开始工作的解决方案。
用户点击提交按钮后,我立即执行此操作并插入新记录。然后,在脚本的下方,基于我使用其他数据更新该记录$new_max_id...

这是一个可以接受的解决方案吗?

我认为您可以使用这种方法。

或者,您可以使用以下字段创建新表:

id (auto increment), table_id, table_name

并保存到其中table_id - 是表实体的 id,table_name - 是某个属性,用于确定属于此 id 的表。在选择期间,您必须使用此表来确定要使用的 id。这将避免 id 计算。