Le problème
Dans MySQL, certains mots ont une signification particulière, ce qui rend illégal leur utilisation comme identifiants tels que les noms de tables, noms de colonnes, etc., sauf s'ils sont entourés de guillemets. Cette restriction s'applique aux mots clés tels que SELECT, INSERT, DELETE et autres.
Options de solution
1. Évitez d'utiliser des mots réservés comme identifiants
Pour plus de simplicité, envisagez d'utiliser des noms alternatifs pour les tableaux ou les colonnes qui ne correspondent pas aux mots réservés. Cela élimine le risque d'erreurs de syntaxe et garantit la portabilité entre les dialectes SQL.
2. Utilisez des backticks pour échapper aux mots réservés
Si l'utilisation d'un mot réservé est nécessaire, il peut être échappé en l'entourant de backticks (`). Ceci informe MySQL que l'identifiant doit être traité comme une chaîne de texte ordinaire, et non comme un mot-clé.
Par exemple, pour corriger l'erreur mentionnée dans la question :
INSERT INTO user_details (username, location, `key`) VALUES ('Tim', 'Florida', 42);
En ajoutant des backticks autour le mot-clé clé, la requête devient syntaxiquement correcte.
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!