Échec création de la table SQL spip_codes_postaux en SQLite
``` Erreur HY000 / 1 de sqlite3: near "COMMENT": syntax error ~ecrire/base/create.php L82 [sql_create(),creer_ou_upgrader_table(),alterer_base(),creer_base(),admin_repair_tables(),base_repair_dist(),inc_admin_dist(),exec_base_repair_dist()] ``` https://git.spip.net/spip-contrib-extensions/codes_postaux/-/blob/master/base/codes_postaux.php?ref_type=heads#L37 À cause de la présence de `COMMENT` dans la déclaration des champs tel que - `"id_code_postal"=> "bigint(21) NOT NULL COMMENT 'Identifiant du code Postal'",` ---- Note: En MySQL cet élément existe effectivement https://dev.mysql.com/doc/refman/8.4/en/create-table.html > A comment for a column can be specified with the COMMENT option, up to 1024 characters long. The comment is displayed by the SHOW CREATE TABLE and SHOW FULL COLUMNS statements. It is also shown in the COLUMN_COMMENT column of the Information Schema COLUMNS table. ---- En SQLite, les commentaires avec `--` ou `/* ... */` sont totalement conservés lors de la création de la table, de sorte qu’ils sont renvoyés via `.schema` par exemple Cette syntaxe fonctionne par exemple :  ```sql CREATE TABLE User -- A table comment ( uid INTEGER, -- A field comment flags INTEGER -- Another field comment ); ``` Mais attention, il ne faut **pas** de virgule sur le dernier champ. On aurait pu tenter de remplacer (dans SPIP / sqlite) `COMMENT` automatiquement par ` -- ` mais il faut qu’ils soient absolument après les virgules, et donc pas pour le dernier champ… https://stackoverflow.com/a/7426289
issue

Forge communautaire SPIP | Charte d'utilisation | Signaler un problème sur ce site