Nom qu'il ne faut pas donner aux tables

Mammouth du PHP | 1339 Messages

08 févr. 2005, 04:13

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 :)
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Mammouth du PHP | 1885 Messages

08 févr. 2005, 04:18

Il y a une liste des mots clefs ici:
http://dev.mysql.com/doc/mysql/fr/reserved-words.html

;)

Mammouth du PHP | 1339 Messages

08 févr. 2005, 04:19

Encore toi :)

Bon je vais y jeter un oeil :)
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Administrateur PHPfrance
Administrateur PHPfrance | 3131 Messages

08 févr. 2005, 10:57

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 :?

Mammouth du PHP | 1885 Messages

08 févr. 2005, 17:50

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 ».
;)