2011-09-20 14 views
6

プライマリキーを持たない巨大なテーブルがあります。 (なぜ私に質問しないでください)私は各テーブルに 'id'フィールドを追加します。これは整数型になります。後で、それをヌルでない一意のインデックスとプライマリキーに昇格させます。MySQLテーブルにプライマリキーを追加して自動入力する

私の質問:MySQLには方法がありますか?私たちは約100のテーブルを持っていますが、その中で最大のものは100万レコードを超えています。新しい 'id'カラムを作成した後、 'back'(つまり、既存のレコードに値を追加する) 'id'フィールドを持つ方法がありますか?私はむしろMySQLでこれをすべて行うことができます。それ以外の場合は、既存のレコードを読み込むPHPスクリプトを作成する必要があります。

Thanx、Don!

答えて

12

あなたは

ALTER TABLE table1 ADD COLUMN id INTEGER NOT NULL auto_increment PRIMARY KEY 

を行う場合は、自動auto_incrementing主キーを使用してテーブルを移植します。

大きなテーブルでしばらく時間がかかることがあります。

+1

自動インクリメントPKを追加すると、既存の行が埋め尽くされることに気付かなかったでしょうか。それはクールだ。どうもありがとうございました。 –

関連する問題