2014-04-29 46 views
0

你好,我有我的數據庫中的表,其將要由客戶在網上填寫和如何使DateTime的主鍵和自動遞增

他們每個記錄必須是唯一保存的,所以我希望有一個主鍵在我的表,

採取從數據和時間的價值,即時通訊使用MySQL其使主鍵日期時間,但

不會自動遞增我怎麼可以讓它自動遞增。

每一天,我都100條記錄,如果數據&時間不工作,所以我不希望從1,2,3,4開始......

因此,如果數據&時間不工作請提出了一些辦法,我從喜歡開始0000001,

0000002,0000003 ...........................

等待你的建議dears .....

回答

0

你可以讓列自動increme nt,同時創建表格,然後應用自動增量字段的起始值。

CREATE TABLE tableName(id INT NOT NULL AUTO_INCREMENT, 
         ..rest of columns... 
         ); 

然後指定起始值

ALTER TABLE tableName AUTO_INCREMENT=1000000; 

所以,現在你將有插入產生從1000000隨後1000001,1000002起始值記錄..等等。

填充零得到0000001,0000002將要求您跟蹤生成的id值的數字的數量,這看起來像不必要的額外工作。

如果你使現有列AUTO_INCREMENT做到這一點

ALTER TABLE tableName MODIFY tableNameID INT NOT NULL AUTO_INCREMENT; 

之後做

ALTER TABLE tableName AUTO_INCREMENT=1000000; 
+0

我可以使用日期和時間作爲其值 – DinaLizooo

+0

不,你不應該使用時間戳作爲主鍵..它將工作正常,如果記錄被逐個插入,但會在同時插入多條記錄時失敗。因爲timestamp生成的值對於這兩個記錄都是相同的。nad將違反主鍵約束...使用整數自動增量,除了唯一他們非常對於與其他表的JOINS很好.. –

+0

這也不起作用ALTER TABLE學生 'EmpID' NOT NULL AUTO INCREMENT = 1000000; – DinaLizooo