【问题标题】:Calculate non-standard auto-increment automatically自动计算非标准自增
【发布时间】:2011-03-13 10:47:08
【问题描述】:

我正在使用的表没有标准的自动增量字段可用作主键,因此我需要想出一种方法来自动计算应在该字段中使用的值。

我的第一个想法是创建一个触发AFTER INSERT,但是,据我所知,没有简单的方法来引用刚刚插入的行。我可以做类似的事情

UPDATE `table` SET `reference_number` = (SELECT ....) WHERE `reference_number` IS NULL

但因为reference_number 是PRIMARY KEY,所以它不能为空。 (这是否意味着它将是一个空字符串''?)

有没有更好的方法来做到这一点?

【问题讨论】:

  • 为什么没有标准的自增字段作为主键使用?
  • @Col。弹片:因为它是在我参与项目之前设计的 ;-)
  • 因为它是由两个独立的大学生团队设计的,以前的数据库经验为零?

标签: sql mysql triggers


【解决方案1】:
CREATE TRIGGER mkuuid BEFORE INSERT ON SomeTable
 FOR EACH ROW BEGIN
   SET NEW.primary_key = UUID_SHORT();
 END

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-12
    • 1970-01-01
    • 1970-01-01
    • 2016-02-22
    • 2013-09-16
    • 1970-01-01
    相关资源
    最近更新 更多