- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
I Used
CREATE TABLE BOOKING(ORDER_NO VARCHAR(13) NOT NULL PRIMARY KEY DEFAULT '0';
CREATE TRIGGER TG_BOOKING BEFORE INSERT ON BOOKING FOR EACH ROW BEGIN
INSERT INTO BOOKING_SEQ VALUES (NULL);
I Need every day sequence start from 001
SET NEW.ORDER_NO = CONCAT('MCI-',DATE_FORMAT(NOW(),'%y%m%d'),LPAD(LAST_INSERT_ID(),3,'0'));END;
最佳答案
这是一种方法...
首先,一些DDL...
DROP TABLE IF EXISTS my_table;
CREATE TABLE my_table (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,invoice_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,public_id VARCHAR(30) NOT NULL);
第 1 步。为订单/发票创建占位符...
INSERT INTO my_table (invoice_date) VALUES (NULL);
SELECT * FROM my_table;
+----+---------------------+--------------+
| id | invoice_date | public_id |
+----+---------------------+--------------+
| 1 | 2016-06-06 10:29:29 | |
+----+---------------------+--------------+
第 2 步。更新结果...
UPDATE my_table a
JOIN
( SELECT x.*
, COUNT(*) total
FROM my_table x
JOIN my_table y
ON DATE(y.invoice_date) = DATE(x.invoice_date)
AND y.invoice_date <= x.invoice_date
GROUP
BY id
) b
ON b.id = a.id
SET a.public_id = CONCAT(DATE_FORMAT(a.invoice_date,'%Y%m%d'),'-',LPAD(b.total,3,0));
SELECT * FROM my_table;
+----+---------------------+--------------+
| id | invoice_date | public_id |
+----+---------------------+--------------+
| 1 | 2016-06-06 10:29:29 | 20160606-001 |
+----+---------------------+--------------+
现在,插入下一个订单/发票...
INSERT INTO my_table (id,invoice_date) VALUES (5,NULL);
SELECT * FROM my_table;
+----+---------------------+--------------+
| id | invoice_date | public_id |
+----+---------------------+--------------+
| 1 | 2016-06-06 10:29:29 | 20160606-001 |
| 5 | 2016-06-06 10:30:57 | |
+----+---------------------+--------------+
...并重复...
UPDATE my_table a
JOIN
( SELECT x.*
, COUNT(*) total
FROM my_table x
JOIN my_table y
ON DATE(y.invoice_date) = DATE(x.invoice_date)
AND y.invoice_date <= x.invoice_date
GROUP
BY id
) b
ON b.id = a.id
SET a.public_id = CONCAT(DATE_FORMAT(a.invoice_date,'%Y%m%d'),'-',LPAD(b.total,3,0));
SELECT * FROM my_table;
+----+---------------------+--------------+
| id | invoice_date | public_id |
+----+---------------------+--------------+
| 1 | 2016-06-06 10:29:29 | 20160606-001 |
| 5 | 2016-06-06 10:30:57 | 20160606-002 |
+----+---------------------+--------------+
这些步骤(1 和 2)可以绑定(bind)到一个事务中,这样如果第 2 步失败,那么第 1 步也会失败。但是,我怀疑有一种方法可以将其重写为单个查询。
关于mysql - 想要 mysql 自动增量表作为订单号- MCI-YYMMDD001 和 001 将每天从 001 开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37653157/
我有一个 mp3 播放器,它发送 MCI 命令来播放暂停/关闭/读取/停止音频文件等,我唯一不知道该怎么做的是发送一个 MCI 命令来告诉它播放下一个当前歌曲播放完毕时的歌曲。 歌曲在列表框中。我实际
我使用 TMediaPlayer 组件来播放音乐。 它适用于我的大多数轨道。但它不适用于某些轨道。当我想播放它们时,显示以下错误消息: 这是德语,但大致意思是: 在项目 pMusicPlayer.ex
我不断收到error 277 : a problem occurred in initializing MCI.使用 playsound 时模块。我基本上只是这样做了: from playsound
我正在播放一个 MIDI 文件,我有一个计时器可以定期检查别名的状态。当它停止时,执行: mciSendString(L"seek Music to start", NULL, 0, NULL); m
我正在尝试使用 playsound 来播放我的代码文件夹中的文件,但是每次我运行我的代码时,它似乎都能够调用该文件,但我总是收到此输出: playsound.PlaysoundException: E
I Used CREATE TABLE BOOKING(ORDER_NO VARCHAR(13) NOT NULL PRIMARY KEY DEFAULT '0'; CREATE TRIGGER TG
我在 Windows 中使用 git bash。我下载并解压了 play 框架并设置了路径,但是当我运行 activator new 时,它会出现以下错误 $ activator new java.l
我是一名优秀的程序员,十分优秀!