如何创建一个具有自动增量但不以1开始而不是希望数字的交易号

时间:2015-10-12 13:11:48

标签: php mysql insert

如何创建一个具有自动增量但不以1开头的交易号,而不是欲望号码。

示例我的数据库中的表具有id,height,width,total,amount,transaction_number的列。

全部6列

id为int,auto increment和ofcourse从1开始,高度为varchar,width为varchar,total为varchar,amount为varchar,则transaction_number为int。

我想要的是,当客户订单时,系统将为第一笔交易创建启动2015001的交易编号,并自动增加交易数量的基数。

所以任何人都可以帮助我如何做到并将其插入数据库

我的数据库插入代码是这样的:

$height = mysqli_real_escape_string($connection,$_POST["height"]);
$width = mysqli_real_escape_string($connection,$_POST["width"]);
$total = mysqli_real_escape_string($connection,$_POST["total"]);
$amount = mysqli_real_escape_string($connection,$_POST["amount"]);

$sql = "INSERT INTO tbl_newcustomer (height,width,total,amount,transaction_number) 
    VALUES ('$height','$width','$total','$amount',  )";

那么我将如何将transaction_number放入此声明

我想要的是transaction_number从2​​015001开始并将自动递增。

有人可以发布代码来帮助我吗

3 个答案:

答案 0 :(得分:0)

您可以运行此查询:

ALTER TABLE `tbl_newcustomer` AUTO_INCREMENT = 2015001

然而,问题是transaction_number似乎不是AUTO_INCREMENT字段,如果不是,那么你需要从你的应用程序中增加它(获得最高的transaction_number并将当前行的transaction_number设置为前一个计数器+ 1)

答案 1 :(得分:0)

更改您的表格并将自动递增的值设置为您想要的值

ALTER TABLE table_name AUTO_INCREMENT=1001(value that you want)

希望它会对你有所帮助。快乐的编码。

答案 2 :(得分:0)

https://www.w3schools.com/sql/sql_autoincrement.asp

  

MySQL的语法

     

默认情况下,AUTO_INCREMENT的起始值为1,每个新记录的起始值都会增加1。

     

要让AUTO_INCREMENT序列以另一个值开头,请使用以下SQL语句:

ALTER TABLE Persons AUTO_INCREMENT=100;

但是,必须在CREATE TABLE之后完成。