mysql 单号,利用 MySQL 自增列生成订单号
在 MySQL 里創(chuàng)建一個(gè)帶有自增列的表,使用 MEMORY ENGINE 存儲即可。
利用時(shí)間生成字符串,后面再加上自增列生成的數(shù)字,根據(jù)業(yè)務(wù)容量僅取最后幾位,示例代碼僅取后4位。
namespace app\api\service;
/**
* CREATE TABLE IF NOT EXISTS `order_id_seq` (
* id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
* PRIMARY KEY (`id`)
* ) ENGINE=MEMORY AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;
*/
class OrderIdService {
/**
* Returns next order ID.
*
* @return string
*/
public function nextId() {
$seq = $this->nextSeq();
$id = date('YmdHis') . sprintf('%04d', $seq % 10000);
return $id;
}
/**
* Returns next sequence number.
*
* @return number
*/
private function nextSeq() {
$db = \think\Db::connect('db_platform');
$seq = $db->table('order_id_seq')->insertGetId(['id' => 0]);
$db->table('order_id_seq')->where('id', $seq)->delete();
return $seq;
}
}
總結(jié)
以上是生活随笔為你收集整理的mysql 单号,利用 MySQL 自增列生成订单号的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php删除多表数据,mysql – 从
- 下一篇: 广东超本建材有限公司 全屋装修怎么样?