我有一个旧注册系统和一个新注册系统。 (两张 table )。
旧系统有一个旧类,新系统有一些旧系统还不能实现的新类。
因此,目前无法将所有内容都转移到其中一个系统中。
我的问题:
我需要连接这两个表,以便 ID 以“自动递增”的方式运行,并且会以某种方式相互跟随。
这是一个场景:
//表#1 = 旧系统(汽车)
//table#2 = 新系统(拖拉机、卡车、船舶)
一辆新车在表#1 中注册并获得 ID:13579,
然后一些其他车辆在 table#2 中注册并且应该获得 ID :13580,
当一辆新车再次在 table#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(自增)、table_id、table_name
并保存到其中 table_id
- 是您的表实体的 id,table_name
- 是一些属性,用于确定该 id 属于哪个表。在选择过程中,您必须使用此表来确定要使用的 ID。这将避免 id 计算。
关于php - 从表#1 获取最新 ID 以确定表#2 的新 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10992831/