我正在创建一个需要存储项目 ID 的应用程序(在 MySql DB 中)。管理员用户应该能够设置 ID 号的格式(#####、##-####、YY-##-#### 等)...仅在创建任何项目之前当然。ID 还必须是 autoinc。当普通用户创建新项目时。
我认为自动增量必须使用 PHP 完成,方法是读取最后一条记录并添加 1。
由于 ID 格式将由用户定义,我认为它可能必须是单个字段(varchar?)。还是应用程序应该创建多个字段以适应用户定义的格式?对此有什么想法吗?
寻找任何想法...
读取前一个 id 并仅递增 1 的问题是您冒着重复使用相同 ID 的风险。考虑:
如果这对您来说不是问题,那么这就是您的解决方案。
否则,你可以试试这个:
这对系统来说需要付出更多的努力,并且在极高的容量下您可能会遇到竞争条件,但是如果您在项目 ID 上添加唯一索引,则应该会发现任何问题。