1

在 MySQL 中,我需要知道是否可以在BEFORE INSERT触发器中找出主键 ID (NEW.Id) 是由自动增量值自动生成还是手动设置。

这样做的原因是,在我的应用程序中,行既可以插入一个设置的 ID,也可以依赖于自动增量值,但我需要知道这一点。

如果在插入行时留空,则之前触发器中 NEW.Id 的值是多少?它似乎不是 NULL,所以它是否已经设置为当前的自动增量值?但是如何确定这是否正在发生呢?

更新: BEFORE INSERT 触发器中的整数类型主键 (NEW.Id) 的值似乎是 0(不是 NULL!),即使没有为此列设置默认值。

4

1 回答 1

0

您需要将触发器放在AFTER选项上,然后您将最后返回到 ID,如果您将触发器放在BEFORE选项上,则执行的操作将为您提供零值,因为没有任何值。

于 2013-05-20T15:04:41.630 回答