Php 在MySQL中定义自动递增的前缀
我有这样的Php 在MySQL中定义自动递增的前缀,php,mysql,auto-increment,Php,Mysql,Auto Increment,我有这样的字符串:POyyyymm0000 当前时间:输入时为PO2017070001 我再次输入它将是PO2017070002 下个月将是PO2017080001 问题是如何插入采购订单[当前年份][当前月份][自动递增,从0000开始到9999]您可以使用日期()和兰德()来实现这一点 就这样 $id='PO'.date('Ymd').rand(0000,9999); $id='PO'.date('Ymd').time(); //o/p is "PO201707061499326403"
字符串:POyyyymm0000
当前时间:输入时为PO2017070001
我再次输入它将是PO2017070002
下个月将是PO2017080001
问题是如何插入采购订单[当前年份][当前月份][自动递增,从0000开始到9999]
您可以使用日期()和兰德()来实现这一点
就这样
$id='PO'.date('Ymd').rand(0000,9999);
$id='PO'.date('Ymd').time(); //o/p is "PO201707061499326403"
它将产生如下产出:
已修改:-
对于唯一键,您可以像这样使用time()
$id='PO'.date('Ymd').rand(0000,9999);
$id='PO'.date('Ymd').time(); //o/p is "PO201707061499326403"
它永远不会重复相同的id。您可以使用date()和rand()来实现这一点
就这样
$id='PO'.date('Ymd').rand(0000,9999);
$id='PO'.date('Ymd').time(); //o/p is "PO201707061499326403"
它将产生如下产出:
已修改:-
对于唯一键,您可以像这样使用time()
$id='PO'.date('Ymd').rand(0000,9999);
$id='PO'.date('Ymd').time(); //o/p is "PO201707061499326403"
它永远不会重复相同的id。从技术上讲,它不会以这种方式自动递增最后4位数字。您不会存储以前的编号。在任何地方,然后如何在自动递增中获得下一个编号。实际上,您想要什么?让它独一无二或其他什么?这不是我的问题:)我个人很乐意拥有一个普通的数字ID。虽然这里还有另一个选项,但我希望(在下个月)或(在下一年)自动递增重置为0000@Ho阿恩古伊ễn试一下我修改过的答案,它会对你有帮助。从技术上讲,这不是自动递增的最后4位数字。你没有存储以前的号码。在任何地方,然后你如何在自动递增中获得下一个号码。实际上你想要什么?让它独一无二或其他什么?这不是我的问题:)我个人很乐意拥有一个普通的数字ID。虽然这里还有另一个选项,但我希望(在下个月)或(在下一年)自动递增重置为0000@Ho阿恩古伊ễn请尝试我修改过的答案,它会对您有所帮助。可能重复的“为什么要这样做?”使用如下所示的触发器:可能重复的“为什么要这样做?”使用如下所示的触发器: