1

我认为在 PostgreSQL 中,您可以使用函数在表中生成主键,而不仅仅是使用 auto_increment。类似于:

CREATE TABLE `blah` (
    `id` bigint(20) unsigned NOT NULL my_generator_function(),
    etc.

哪里my_generator_function()会返回一个bigint。

MySQL 可以做到这一点,还是我必须自己从应用程序代码中做到这一点?

4

1 回答 1

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
于 2012-05-23T13:23:03.763 回答