Maison >base de données >tutoriel mysql >Comment corriger « Vous avez une erreur dans votre syntaxe SQL » lors de l'utilisation de mots réservés dans les noms de tables MySQL ?

Comment corriger « Vous avez une erreur dans votre syntaxe SQL » lors de l'utilisation de mots réservés dans les noms de tables MySQL ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-09 11:26:41955parcourir

How to Fix

Dépannage des erreurs de syntaxe MySQL : le cas des mots-clés réservés

La création de plusieurs tables de base de données MySQL via des scripts PHP entraîne souvent le message frustrant « Erreur de syntaxe SQL ». Un coupable fréquent est l'utilisation involontaire de mots réservés MySQL comme noms de tables ou de colonnes.

Ce didacticiel se concentre sur la résolution de ces erreurs, en abordant spécifiquement les problèmes liés à l'utilisation du mot réservé « order » comme nom de table. "order" est un mot-clé dans MySQL, contrôlant le séquençage de la récupération des données, provoquant ainsi des conflits de syntaxe.

La solution consiste à échapper le mot réservé à l'aide de backticks. L'instruction SQL corrigée est :

<code class="language-sql">$sql = "CREATE TABLE `order`(
    order_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
    user_id INT UNSIGNED NOT NULL,
    transaction_id VARCHAR(19) NOT NULL,
    payment_status VARCHAR(15) NOT NULL,
    payment_amount DECIMAL(6,2) UNSIGNED NOT NULL,
    payment_date_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY (order_id),
    FOREIGN KEY (user_id) REFERENCES user (user_id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8";</code>

En tant que bonne pratique, évitez entièrement d'utiliser des mots-clés réservés. Le choix de noms descriptifs et non réservés améliore la lisibilité du schéma de base de données et évite de futurs problèmes de syntaxe.

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!

Déclaration:
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