【发布时间】:2013-05-12 23:12:57
【问题描述】:
在 MySQL 中,我需要知道是否可以在 BEFORE INSERT 触发器中确定主键 ID (NEW.Id) 是否由 自动增量值 自动生成,或者是否ID 是手动设置的。
这样做的原因是在我的应用程序中,行既可以使用设置的 ID 插入,也可以依赖于自动增量值,但我需要知道这一点。
如果在插入行时留空,则之前触发器中 NEW.Id 的值是多少? 它似乎不是 NULL,所以它是否已经设置为当前的自动增量值? 但是如何确定是否发生了这种情况?
更新: BEFORE INSERT 触发器中的整数类型主键 (NEW.Id) 的值似乎是 0(不是 NULL!),即使没有为此列设置默认值。
【问题讨论】:
-
为什么你需要知道这个? (不知道是否可能)
-
我正在使用一个单独的表来实现我自己的序列解决方案,该表包含每个表的新序列值。但是我还是想用 MySQL 的自增特性……
标签: mysql triggers auto-increment