从另一个表中获取值以创建数字前导触发器

时间:2017-02-25 15:01:22

标签: sql mariadb

我有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   | ...
  -------------------|-----------

有人可以帮我制作吗?

0 个答案:

没有答案