Maison > base de données > tutoriel mysql > Pourquoi mon instruction SQLite CREATE TABLE échoue-t-elle avec une erreur de syntaxe « proche de « Transaction » : » ?

Pourquoi mon instruction SQLite CREATE TABLE échoue-t-elle avec une erreur de syntaxe « proche de « Transaction » : » ?

Mary-Kate Olsen
Libérer: 2024-12-26 06:32:42
original
176 Les gens l'ont consulté

Why Does My SQLite CREATE TABLE Statement Fail with a

Erreur de syntaxe SQLite non identifiable : percer le mystère

Dans ses efforts pour construire une base de données, un développeur a rencontré une erreur énigmatique : "Near line 83 : près de 'Transaction' : erreur de syntaxe." Après avoir examiné la ligne 83 et son contexte, la commande incriminée est apparue comme une instruction CREATE TABLE pour la table « Transaction ».

Perplexe face au problème, le développeur a demandé de l'aide, soupçonnant un problème ASCII potentiel. Cependant, une réécriture méticuleuse n’a pas résolu le problème. Une enquête plus approfondie a révélé que le nom de la table, « Transaction », est un mot-clé réservé dans SQLite.

Mots clés réservés dans SQLite

SQLite, similaires à de nombreux autres langages de programmation, réserve certains mots-clés à un usage interne. Ces mots-clés font partie intégrante de la syntaxe du langage et ne peuvent pas être utilisés à d'autres fins, telles que les noms de tables ou de colonnes. Pour se protéger contre toute ambiguïté, SQLite exige que les identifiants ne soient pas déclarés à l'aide de mots-clés réservés.

Résoudre le problème

Pour rectifier l'erreur, deux approches peuvent être adoptées :

  1. Renommer la table : En sélectionnant un mot non réservé pour le nom de la table, le conflit avec le mot-clé réservé peut être éliminé. Cela garantit la compatibilité avec les règles de syntaxe de SQLite.
  2. Citation du nom réservé : Alternativement, le nom réservé peut être encapsulé entre guillemets. SQLite propose quatre options de guillemets valides : guillemets simples ('), guillemets doubles ("), crochets ([]) et guillemets (`). En plaçant le mot-clé réservé entre ces délimiteurs, l'erreur de syntaxe peut être contournée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal