Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在MySQL中定义自动递增的前缀_Php_Mysql_Auto Increment - Fatal编程技术网

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请尝试我修改过的答案,它会对您有所帮助。可能重复的“为什么要这样做?”使用如下所示的触发器:可能重复的“为什么要这样做?”使用如下所示的触发器: