Page 1 sur 1

Nom qu'il ne faut pas donner aux tables

Posté : 08 févr. 2005, 04:13
par Elie
Salut :)

En fait, en donnant le nom "action" a une table je me suis rendu compte que MySQL (PHPMyAdmin en tout cas) ne kiffait pas trop.

Je voulais connaitre la liste des noms de table a eviter du genre "SELECT, FROM, WHERE,..."

Merci :)

Posté : 08 févr. 2005, 04:18
par Xenon_54
Il y a une liste des mots clefs ici:
http://dev.mysql.com/doc/mysql/fr/reserved-words.html

;)

Posté : 08 févr. 2005, 04:19
par Elie
Encore toi :)

Bon je vais y jeter un oeil :)

Posté : 08 févr. 2005, 10:57
par naholyr
Si vous tenez à utiliser des noms réservés pour vos tables ou vos champs, n'oubliez pas ` dans vos tables :)

"SELECT * FROM action" sera invalide alors que
"SELECT * FROM `action`" ne posera pas de problème.

Par défaut il vaut mieux toujours utiliser les backquotes comme ça on est tranquille. Seul inconvénient: quand on passe à Sqlite (je ne sais pas pour postgre), il ne reconnait pas les backquotes :?

Posté : 08 févr. 2005, 17:50
par Xenon_54
La documentation y faisait déjà mention de manière substile en anglais:
A reserved word can be used as an identifier if you quote it.
Et de manière plus évidente dans la traduction française:
Comme pour les résultats, les noms de colonnes qui sont identiques au nom de fonctions doivent être placés entre guillemets, tels que décrit dans Section 10.2, « Noms de bases, tables, index, colonnes et alias ».
;)