2017-11-15 10 views
2

私はCSVストレージエンジンに格納されたMySQLテーブルを作成しました。 自動増分列を作成したいですが、csvテーブルはサポートされていません。csvストレージエンジンタイプのmysqlテーブルに自動インクリメント列を追加する方法は?

トリガーを使用して自動インクリメント列を作成する方法はありますか?

+0

CSVエンジンを使用する理由は何ですか? –

+0

ファイルウォッチャーを使用して、挿入されたデータを読み取る必要があります。 – Sawan

答えて

0

CSVストレージエンジンもインデックスをサポートしていないため、すべての行挿入がテーブルスキャンを引き起こすため、次のIDを計算するトリガーをSELECT MAX(id)+1...で作成すると、パフォーマンスが非常に悪くなります。

自動インクリメント列が必要な場合は、自動インクリメント列を追加しているときにテーブルをInnoDBに変換する必要があります。

ALTER TABLE MyTable 
    ADD COLUMN id BIGINT AUTO_INCREMENT PRIMARY KEY FIRST, 
    ENGINE=InnoDB; 
関連する問題