代码之家  ›  专栏  ›  技术社区  ›  Moak

MYSQL将列的默认值设置为新id

  •  0
  • Moak  · 技术社区  · 15 年前
    unique_id | master_id | othercolumns
    

    unique_id 如果列是自动递增的,在插入新记录时,是否有方法使列主id默认值为唯一id?

    2 回复  |  直到 9 年前
        1
  •  5
  •   outis    15 年前

    我认为“唯一id”和“主id”是列。不,不能将一列默认为另一列的值,但可以创建 trigger master_id 价值 unique_id 插入时。假设master_id的默认值为0。然后,以下触发器应工作:

    delimiter ;;
    
    CREATE TRIGGER default_master_id
      BEFORE INSERT
      ON table_name FOR EACH ROW
      IF NEW.master_id = 0 THEN
        SET NEW.master_id = last_insert_id()+1 ;
      END IF ;;
    
    delimiter ;
    
        2
  •  2
  •   ajreal    15 年前
    insert into table ... set master_id=last_insert_id()+1;
    
    推荐文章