我有tblAutoIncreament
表来收集创建触发器之前的最大ID数,以便在插入行之前添加一些前导数字。
primary | nextNumber
INT(2) | BIGINT(16)
--------|-----------
10 | 50
11 | 34
--------|-----------
所以我需要获取当前nextNumber
列来创建触发器。但我不知道用正确的语法编写它们
SET NEW.foo = CONCAT(10, LPAD((SELECT nextNumber FROM tblAutoIncreament WHERE primary = 10), 14, '0'));
UPDATE tblAutoIncreament SET nextNumber = nextNumber + 1 WHERE primary = 10;
如果上面的代码在某个表中插入新行后有效。它应该是这样的。
foo | someColumn
BIGINT(16) |
-------------------|-----------
1000000000000050 | ...
-------------------|-----------
* 1000000000000051 | ...
-------------------|-----------
有人可以帮我制作吗?