【问题标题】:MySQL user-defined functions to generate primary keyMySQL用户自定义函数生成主键
【发布时间】:2012-05-23 13:11:59
【问题描述】:

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

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

my_generator_function() 将返回一个 bigint。

这可以通过 MySQL 实现吗?还是我必须自己通过应用程序代码来实现?

【问题讨论】:

    标签: mysql database user-defined-functions


    【解决方案1】:

    你可以创建一个触发器 -

    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
    

    【讨论】:

      猜你喜欢
      • 2013-02-15
      • 2011-01-01
      • 2017-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多