我认为在PostgreSQL中你可以使用一个函数在表中生成主键,而不是仅仅使用auto_increment。类似于:
CREATE TABLE `blah` (
`id` bigint(20) unsigned NOT NULL my_generator_function(),
etc.
my_generator_function()
会返回一个bigint。
这可能与MySQL有关,还是我必须自己从应用程序代码那里做到这一点?
答案 0 :(得分:2)
您可以创建触发器 -
CREATE TRIGGER trigger1
BEFORE INSERT
ON table1
FOR EACH ROW
BEGIN
IF NEW.id = 0 THEN -- generate new ID if zero is set
SET NEW.id = ...; -- write your code to generate new ID
END IF;
END