tblresourcesテーブルで利用するSQL文は、リスト1のようになります。詳しく見ていきましょう。
リスト1
CREATE TABLE tblresources(
id INTEGER PRIMARY KEY,
url VARCHAR(255) NOT NULL UNIQUE default '',
email VARCHAR(70) NOT NULL default '',
precedingcopy VARCHAR(100) NOT NULL default '',
linktext VARCHAR(255) NOT NULL default '',
followingcopy VARCHAR(255) NOT NULL default '',
target VARCHAR(35) default '_blank',
category VARCHAR(100) NOT NULL default '',
theirlinkpage VARCHAR(100) default NULL,
whenaltered TIMESTAMP default '0000-00-00',
reviewed BOOLEAN default 0,
whenadded DATE default '2005-01-01');
自動採番型のフィールドを作成する場合、SQLiteではINTEGER型でPRIMARY KEY属性を設定します。これは、MySQLでINTEGERauto_increment PRIMARY KEYと記述するのと同じです。SQLiteでは、フィールドの定義の際にデータ型を指定する必要はありません。
その場合は、フィールドは文字列型として認識されます。とはいえ、データ型を入れておいた方が、どのような値が入っているのかを判断する際に便利です。しかし、FLOAT型のフィールドに文字列を入れることも、BOOLEAN型のフィールドに整数値を入れることもできてしまいます。
さらに、文字数を制限したVARCHAR型を作成しても意味はありません。そのため、フィールドに入れるデータには特に気をつける必要があります。今回のテーブルで使用するフィールドに関しては、特に説明する必要はないでしょう。reviewedフィールドがtrueにセットされるまでは、リンクは表示されません。
また、TIMESTAMP型のwhenalteredフィールドとwhenaddedフィールドは、トリガーを使って自動的に値がセットされます。
|