SQLite Web サイトでこれに関する構文の「チャート」は見つかりますが、例がなく、コードがクラッシュします。 1 つの列に一意の制約がある他のテーブルがありますが、2 つの列に制約を追加したいと考えています。 これが、SQLiteException が発生し、「構文エラー」というメッセージが表示される原因です。
CREATE TABLE name (column defs)
UNIQUE (col_name1, col_name2) ON CONFLICT REPLACE
私は以下に基づいてこれを行っています:
明確にするために、私が提供したリンクのドキュメントには、CONTSTRAINT name
制約定義の前に来る必要があると書かれています。
ただし、解決につながる可能性があるのは、括弧で囲まれた列定義の後に続くものはすべて、デバッガーがエラーを報告している内容であるということです。
もし私が
...last_column_name last_col_datatype) CONSTRAINT ...
エラーは「CONSTRAINT」付近: 構文エラー
もし私が
...last_column_name last_col_datatype) UNIQUE ...
エラーは「UNIQUE」付近: 構文エラー
ベストアンサー1
UNIQUE 宣言を列定義セクション内に配置します。動作例:
CREATE TABLE a (
i INT,
j INT,
UNIQUE(i, j) ON CONFLICT REPLACE
);