Je peux trouver des «graphiques» de syntaxe à ce sujet sur le site Web de SQLite, mais aucun exemple et mon code plante. J'ai d'autres tables avec des contraintes uniques sur une seule colonne, mais je souhaite ajouter une contrainte à la table sur deux colonnes. C'est ce que j'ai qui provoque une exception SQLiteException avec le message "erreur de syntaxe".
CREATE TABLE name (column defs)
UNIQUE (col_name1, col_name2) ON CONFLICT REPLACE
Je fais cela en fonction de ce qui suit:
Pour être clair, la documentation sur le lien que j'ai fourni indique que cela CONTSTRAINT name
devrait précéder ma définition de contrainte.
Quelque chose qui peut conduire à la solution est que tout ce qui suit mes définitions de colonnes entre parenthèses est ce dont le débogueur se plaint.
Si je mets
...last_column_name last_col_datatype) CONSTRAINT ...
l'erreur est proche de "CONSTRAINT": erreur de syntaxe
Si je mets
...last_column_name last_col_datatype) UNIQUE ...
l'erreur est proche de "UNIQUE": erreur de syntaxe