Pourquoi devais-je utiliser des backtsks autour du nom de la table dans ma requête MySQL?

StackOverflow https://stackoverflow.com//questions/12658763

  •  11-12-2019
  •  | 
  •  

Question

Autant que j'ai lu, les backtsticks ne sont pas obligés, par exemple, des noms de table dans les requêtes: ("Insert dans Table_Name ...."). De plus, à ma connaissance, des traits de soulignement sont une syntaxe parfaitement acceptable à utiliser dans les noms: FOO_BAR. Ma question est donc, pourquoi cette requête a-t-elle échoué:

mysql_query("INSERT INTO quick_links WHERE ...etc");

Quand cette requête a fonctionné parfaitement:

mysql_query("INSERT INTO `quick_links` WHERE ...etc");

sont "rapides" ou "liens" des mots réservés ??? Je ne le pensais pas, mais encore une fois, je suis assez nouveau à MySQL, alors je m'excuse. En outre, utilise des backticks nécessaires dans certains "moteurs de stockage" (référencement phpmyadmin pour la terminologie)? J'utilise "Innodb" si cela fait de la différence.

Merci pour les réponses, je suis nouveau à MySQL, et j'aime bien m'assurer que je comprends des nuances comme celles-ci.

Ma requête complète était ceci:

mysql_query("INSERT INTO `quick_links` VALUES (
    '$user_id', '$ql_name', '$ql_url', '$ql_img'
)"); 

$ ql_url et $ ql_name ont été obtenus via $ _Post puis assainis avec la garniture et MySQL_Real_Escape_string avant d'être utilisés dans la requête. $ ql_img est simplement une URL qui se réfère à un répertoire dans lequel une vignette est téléchargée et $ user_id est là pour identifier l'utilisateur particulier qui est connecté. Les deux requêtes étaient exactement identiques, littéralement, à l'exception des backtstics autour du nom de la table.

Était-ce utile?

La solution

Backtick ne sont utilisés que pour échapper à MySQL Mots réservés .Ils sont facultatifs si vous n'utilisez aucun des mots-clés réservés à condition que les noms de table ou les noms de colonnes utilisées aient no spaces dessus.

Ceci page indique que les caractères admissibles soientutilisé dans le schéma.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top