我想構建一個數據庫範圍的唯一標識。該唯一標識應該是該數據庫每個表中每行的一個字段。在多個表中維護唯一的標識
有我已經考慮了幾個方法:
有自動遞增場,並在每其他表的觸發器創建一個主表,如:
「插入這裏之前,插入主表 - >獲取自動增加值 - >並在這裏使用這個值作爲主鍵「
我以前見過這個,但不是做一個INSERT,它做了2個INSERT,期望不會是高性能的。
爲每個表添加一個字段
uniqueId
,並使用PHP生成的整數填充此字段...類似unix-timestamp加上一個隨機數。我不得不使用BIGINT
作爲數據類型,這意味着大index_length
和大data_length
。與「uniqueId」的想法類似,但
BIGINT
的實例我使用VARCHAR
並使用uniqid()
來填充此值。
數據庫範圍唯一標識符的用途是什麼?如果每個表都有主鍵,則每行都有一個由tablename.pkey組成的唯一ID。 – dnagirl
這是一個可怕的,可怕的想法,只會導致痛苦和痛苦。 –
我曾多次考慮過這樣的事情,比如製作(幾乎)網頁上的每個元素都可評論,或者甚至針對每個元素的評分。我一直認爲這會讓事情變得簡單。 @Ignacio:即時通訊並不是在談論如何使用這個主鍵,如果你這麼認爲。爲什麼你認爲通過多個表的唯一標識符是不好的? –