【发布时间】:2014-05-19 08:15:28
【问题描述】:
我有一张带发票的桌子。每张发票都属于一个用户。
所以 table table 有id,user_id 列。
我想要第三列,例如根据用户自动递增的 invoice_id。
例如,用户 1 将拥有带有 id 1,2,3,4,5,6,7,8... 的发票,而 用户 2 也将拥有带有 id 1,2,3,4,5,6,7,8... 的发票
我知道我可以创建一个函数来检查特定用户的最后一个值并分配下一个值,但是没有其他“更简单”更合适的方法可以使用cakephp 或mysql 来执行此操作吗?
【问题讨论】:
-
也许这就是您要找的东西? stackoverflow.com/questions/979709/…
-
根据您使用的数据库引擎,您可能能够利用自动增量的复合主键 - dev.mysql.com/doc/refman/5.6/en/example-auto-increment.html - 虽然我相信这仅适用于 MyISAM 和 BDB 引擎MySQL....你没有指定你使用的是哪个数据库,所以我猜 MySQL
-
我也看到了这个方法,但我不喜欢使用只针对 MyISAM 的方法
-
没有任何理由,除了审美原因,您希望基于用户拥有“漂亮”的顺序编号。然而,由于人是人,我们经常喜欢无用的东西 - 您可以在发票表上使用 AFTER INSERT 触发器来执行此操作。至于如何使用,有大量关于如何使用 MySQL 触发器的示例。但是,当我从经验中谈起时,请相信我——你不需要也不想要那样。
-
嗯,这是必需的,因为每个用户都可以查看他们的发票和发票 ID。而且我不希望用户看到像 1,4, 9,16.. 这样的 ID
标签: php mysql sql cakephp cakephp-2.4