Sql 从另一个表获取值以创建数字前导触发器
我有tblAutoIncreament表,在创建触发器之前收集ID的最大数量,在插入行之前添加一些前导数字Sql 从另一个表获取值以创建数字前导触发器,sql,mariadb,Sql,Mariadb,我有tblAutoIncreament表,在创建触发器之前收集ID的最大数量,在插入行之前添加一些前导数字 primary | nextNumber INT(2) | BIGINT(16) --------|----------- 10 | 50 11 | 34 --------|----------- 所以我需要获取当前的nextNumber列来创建触发器。但是我不知道如何用正确的语法来写它们 设置NEW.foo=CONCAT10,LPA
primary | nextNumber
INT(2) | BIGINT(16)
--------|-----------
10 | 50
11 | 34
--------|-----------
所以我需要获取当前的nextNumber列来创建触发器。但是我不知道如何用正确的语法来写它们
设置NEW.foo=CONCAT10,LPADSELECT nextNumber FROM tblAutoIncreament,其中primary=10,14,'0';
更新tblAutoIncreament集合nextNumber=nextNumber+1,其中primary=10;
如果上面的代码在某个表中插入新行后生效。应该是这样的
foo | someColumn
BIGINT(16) |
-------------------|-----------
1000000000000050 | ...
-------------------|-----------
* 1000000000000051 | ...
-------------------|-----------
有人能帮我制作吗?MySQL或MariaDB。。。你标记了both@RaymondNijland . . . MariaDB本质上是MySQL的一种方言。它与对MySQL所做的几乎所有更改保持同步。我不认为在一个问题上同时使用两个标记有冲突,这类似于在sql server和sql-server-2014上标记一个问题。@Gordon Linoff True我知道MariaDB支持MySQL的方言…但是MySQL和MariaDB在触发器代码上有一些不同。我目前使用MariaDB 10.1^-^最大ID数-哪一列是ID?在插入行之前?主=10是否硬编码?触发器的意图太不精确。