2012-11-30 57 views
1

我有以下結構的表:其中MySQL表有一個以上的自增的字段

id | number | text 
---------------------- 
    1 | 1 | test 

ID是我帶自動增量值的主鍵。我也想把數字作爲自動增量值。一個表中是否可以有多個自動增量列?

+2

它的目的是什麼? –

+0

如果您使用的是phpmyadmin,則可以在每列上設置自動增量。如果你的名字是平等的你的id ti不是非常有用 – Ajouve

+0

但我得到錯誤>>#1075-不正確的表定義;只能有一個自動列,並且必須將其定義爲鍵 –

回答

8

這是不可能的。只能有一個自動增量列,它必須在MySQL中定義爲一個鍵。 但您可以通過使用trigger查看詳細去這個鏈接CREATE TRIGGER

+0

找不到您提及的鏈接。請檢查這個。 http://dev.mysql.com/doc/refman/5.1/de/create-trigger.html –

+0

@AhmadSharif我已更新鏈接,請現在檢查並感謝您的信息。 – Toretto

3
create trigger nameTrigger before insert on tables 
for each row 
begin 
    DECLARE newNumber unsigned default 0; 
    SELECT Max(number)+1 INTO newNumber FROM myTable WHERE id = new.id; 
    UPDATE myTable SET number = newNumber WHERE id = new.id; 
end 
0

這樣做,但這種做法會降低,因爲每當INSERT語句將在同一時間觸發器執行也將被執行性能。

+0

這個答案不回答詢問它是否可能的問題 – LuckyStarr

相關問題