【发布时间】:2015-07-03 20:05:27
【问题描述】:
我在查询自动编号时遇到问题。我有一个包含 unit_id、unit_name 的表 tbUnit 和包含 stu_id、stu_name 的表 tbStudent。 Stu_id 来自 unit_id + year + 0000(4 位自动缓冲)。
如果没有看到unit_id,我可以创建自动编号,但是现在,我想根据unit_id创建数据自动编号,例如:A20150001,A20150002,B20150001(从1重新开始,因为之前没有B单元),...
知道如何创造这些条件吗?根据其他表的 ID 自动编号。我正在使用 MySQL 和 PHP 脚本。
【问题讨论】:
-
如果我理解正确,我不建议尝试使用自动编号。相反,只需根据您的规则和源表中的值填充一个单独的表属性。
-
如果我在新行使用自动增量值,如何准确写入 0001、0002、ctd...、0010、ctd...、0100?因为人工智能只会创造 1,2,3,4,ctd...
-
我认为
$string = sprintf("%04d", $digits);应该可以工作。 -
如果您不知道,您可以使用
date("Y")获取当前年份。然后,只需从Unit表中获取最新的单元(例如“B”),将所有这些连接在一起并将其存储在Student表中。 -
它不适用于 100 .. 还有其他解决方案吗?我的结果:1 -> 0001, 10 -> 0010, 100 -> 0001