2010-07-08 36 views
1

我正在使用的表沒有標準的自動增量字段用作主鍵,所以我需要想出一種方法來自動計算應該是在現場使用。自動計算非標準自動增量

我的第一個想法是創建一個觸發器AFTER INSERT,但是,據我所知,沒有簡單的方法來引用剛插入的行。我可以做類似

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

但由於reference_numberPRIMARY KEY,它不能爲空。 (這是否意味着它將是一個空字符串''?)

有沒有更好的方法來做到這一點?

+2

爲什麼它沒有標準的自動增量字段用作主鍵? – 2010-07-08 16:08:59

+0

@Col。彈片:因爲它是在我參與該項目之前設計的;-) – 2010-07-08 17:22:19

+0

不是一個藉口。 – 2010-07-08 18:42:23

回答

1
CREATE TRIGGER mkuuid BEFORE INSERT ON SomeTable 
FOR EACH ROW BEGIN 
    SET NEW.primary_key = UUID_SHORT(); 
END