SQLite 徹底研究 : CREATE TABLE IF NOT EXIST で同じ名前のテーブルがある時のエラーを無視する2018年08月22日 11時56分24秒

CREATE TABLE を二回行なうとエラーになる。 CREATE TABLE 同じ名前のテーブルは作れない。CREATE TABLE に IF NOT EXISTS を付けると、このエラーを無視することが出来る。
CREATE TABLE IF NOT EXISTS テーブル名 ( コラム名 [、コラム名…] );

しかし、ただ単にエラーを無視しただけなので、違うコラムで CREATE TABLE を行なっても、元のテーブルのまま。

% sqlite3
SQLite version 3.22.0 2018-01-22 18:45:57
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> CREATE TABLE integers ( number INTEGER );
sqlite> CREATE TABLE IF NOT EXISTS integers ( number1 INTEGER, number2 INTEGER );
sqlite> .schema integers
CREATE TABLE integers ( number INTEGER );
sqlite> .exit

本稼働のシステムで日常的に使うには、疑問のある IF NOT EXISTS だが、やっつけ仕事のテスト環境や実験での使い勝手は良い。

SQLite データベース徹底研究 - Top