フィールドに設定できる値に制限を設けます。
| 制約 | 説明 |
|---|---|
| NOT NULL | NULLを設定できなくする。 |
| UNIQUE | 同じ値を設定できなくする。 |
| DEFAULT | 値が設定されないときに、指定した値を初期値とする。 |
| PRIMARY KEY | 主キーとする。 |
フィールドの制約に違反した場合の処理は、ON CONFLICTコマンドで設定します。
| パラメータ | 処理 | 戻値 |
|---|---|---|
| ROLLBACK | トランザクションがロールバックされる | SQLITE_CONSTRAINT |
| ABORT | コマンドが中断される | |
| FAIL | コマンドが失敗とされる | |
| IGNORE | コマンドは実行されず、処理は継続される | なし |
| REPLACE | 元のデータを上書きする |
例えばUNIQUE制約に違反したときにREPLACEで元のデータを上書きするには、次にように指定します。
CREATE TABLE table ( field1 UNIQUE ON CONFLICT REPLACE, field2 );