誰でも私を助けることができます..
Sl.no (シリアル番号) を自動インクリメントせずにテーブルを作成しましたが、自動インクリメントしたいと思います。どうすればできますか?
シリアル番号列がテーブルの主キーではないようです。MySQL では、主キーではない列に AUTO_INCREMENT 属性を割り当てることはできません。
考えられる 2 つの行動方針を確認できます。
他の列から主キー属性を削除し、シリアル番号に追加します。これは、シリアル番号列の値が一意である場合にのみ機能します。テーブルのセットアップ方法とシリアル番号フィールドのフォーマット方法によっては、テーブルに対する後続のクエリのパフォーマンスに悪影響を及ぼす可能性があります。
ALTER TABLE [テーブル] DROP PRIMARY KEY;
ALTER TABLE [テーブル] ADD [フィールド名] [整数型] NOT NULL AUTO_INCREMENT PRIMARY KEY;
テーブルのシリアル番号列の最後の(最高の)値を(プログラムで)選択し、挿入の前に手動で(プログラムで)インクリメントすることにより、プログラムで自動インクリメントを偽造できます。 (新記録。
あなたはそれを変更する必要があります
alter table document modify column serial_id int(10) NOT NULL auto_increment
ALTER TABLE
mytable
MODIFY id INT NOT NULL AUTO_INCREMENT;
このドキュメントページ - ALTER TABLE Syntaxをご覧ください。まず、フィールドは整数で主キーでなければなりません。
このようなクエリを使用できます-
-- add AUTO_INCREMENT:
ALTER TABLE table
CHANGE COLUMN id id INT(11) NOT NULL AUTO_INCREMENT;
-- add primary key and AUTO_INCREMENT:
ALTER TABLE table
CHANGE COLUMN id id INT(11) NOT NULL AUTO_INCREMENT,
ADD PRIMARY KEY (id);
また、MySQL GUI ツールの 1 つを使用することもできます。たとえば、dbForge Studio for MySQL のテーブル エディタ(無料の高速版) です。