2014-11-14 35 views
1

我需要在MySQL表中從001開始的主鍵。我使用下面的代碼來做到這一點,但沒有奏效。它避免00並從1開始。如何使主鍵從001開始?

ALTER TABLE tbl AUTO_INCREMENT = 001; 

可以嗎?任何幫助,將不勝感激。

+4

001與1不同?兩者都代表零之後的數字。輸出時(使用PHP,.NET,rails等)只需格式化數字,例如'printf('%03d',$ number)' – knittl

+0

對不起,我沒有幫你。 – Jklyn

+0

001和1是相同的數字。他們都是_one_。如果您需要以特定格式輸出號碼,請在輸出時輸入 – knittl

回答

2

Auto_increment字段必須是整數字段。所以你不可能做你想做的事。因爲整數值不能有前導零。

0

什麼是001這是帶有前導零的int嗎?

嘗試:

create table x(
    id INT(5) UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT primary key 
); 

MySQL(5)旁邊裝置的值將作爲5個位置返回的整型,ZEROFILL指那些5位將被用0填充。例如結果將類似於'00001','00002'等。

對我來說不清楚,如果PHP或其他語言將保持那些前導零。如果沒有,你可以使用像sprintf進行格式化:

<?php 
$id = sprintf("%05d", $db->id); 
?> 

請更新澄清的問題。

+0

謝謝您的努力我已經解決了這個問題。最近我遇到了另一個問題。請檢查此鏈接http://stackoverflow.com/questions/36179148/how-to-insert-and-retrive-data-from-one-table-to-another-table-in-mysql-database – Jklyn

+0

當你解決它,你可能會分享結果來幫助下一個看起來問題的人:) – Nick