phpMyAdminでテーブルのデータをすべて削除するため、「テーブルを空にする」メニューを選択すると、『本当に実行しますか?「TRUNCATE TABLE table1;」』のような確認メッセージが表示されます。
注意が必要な点は、「テーブルを空にする」と「テーブルを削除する」のメニューが並んでおり、間違えてクリックしたときに、次のように確認メッセージが判断しづらいことです。
○確認メッセージの例
「テーブルを空にする」では、本当に実行しますか?「TRUNCATE TABLE table1;」
「テーブルを削除する」では、本当に実行しますか?「DROP TABLE table1;」
2つのSQLは似ていますが、結果はまったく異なります。やり直しがきかないので注意してください。以下、違いをまとめます。
TRUNCATE TABLEはテーブルを空にする
「TRUNCATE TABLE」は、テーブルを空にするSQLです。すべてのデータが削除されます。たとえば、100件のテストデータをクリアするような目的で使います(中身を空っぽに)。
【注意】DROP TABLEはテーブルを削除する
「DROP TABLE」は、テーブルを削除するSQLです。データのクリアではなくテーブル自体が消去されます。間違えないようにしましょう。
特に、テーブルを空にしようとして、間違えて「テーブルの削除」を選択してしまったときに、確認メッセージを勘違いしないように注意してください。
実は、TRUNCATE TABLEでもテーブルを削除しています。いったん削除してから新たなテーブルを再作成する流れでテーブルを空にするので、連番も1から始まるようにリセットされます。