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

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2018/08/22/8947588/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。