2017-08-29 11 views
0

私はmysql 5.7.18を使用しています。
私が試した:私は0の自動初期化値を持つMyIsamテーブルを作成する必要があります

CREATE TABLE t1 (
    `UID` int(10) auto_increment, 
    day int(10), 
    PRIMARY KEY (`UID`) 
    ) ENGINE=MyISAM AUTO_INCREMENT=0; 

を私はワークベンチ内のテーブルの情報を見たとき、それはAUTOINC値は1 であることを示している奇妙なことは、私は他の二つのテーブルに0に設定するために管理していることです!
私も試してみました:

alter table t1 auto_increment=0;

任意のデータがテーブルに書き込まれた前に、私はこれをしませんでした。 私は少し迷っています。 推奨事項はありますか?

更新:

CREATE TABLE `sname`.`z` (
    `Uid` INT NOT NULL DEFAULT -1, 
    PRIMARY KEY (`Uid`)) 
    ENGINE = MyISAM 
    AUTO_INCREMENT = 0; 

これはトップの例では、*私はそれをしたいと下部1が何を行っていない理由を私は理解していない0
で自動インクリメント開始してテーブルを作成します。

+0

何がauto_increment = 0ですか? – scaisEdge

+0

Condescendingの危険:MySqlでは、テーブルの作成時に自動増分フィールドの初期値を設定できます。また、変更される次のオートインクリメント値を、既に使用されている値よりも大きく変更することができます。テーブル作成時にautoincrementフィールドの値を指定しないと、mysqlはそれを1に設定します。完全に合理的で、あなたが期待するものについて。私の場合(そして私は少し病的なことを認めます)私は0から始める必要があるので、0のものの開始インデックスを使用するデータの束をインポートすると正しく整列します。 –

+0

私は作成時にauto_incrementを0に設定しませんが、インポートデータの場合、最初の等号が1に等しく、値が正しく挿入されます。 – scaisEdge

答えて

0

さらに調査した結果、オートインクリメントフィールドに初期値として0を設定できないように見えます。

関連する問題