SQL CREATE TABLE d'Erreur
La Réponse a été que j'ai été en utilisant incorrect guillemets au lieu de backticks. Stupide syntaxe hilighter trompé moi.
J'ai été coincé sur ce simple(ish) pour la dernière 1/2 heure alors j'ai pensé que je pourrais essayer d'obtenir une réponse rapide ici.
Qu'est-ce exactement est incorrect sur ma syntaxe SQL, en supposant que je suis en utilisant mysql 5.1
CREATE TABLE 'users' (
'id' INT(11) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
'username' VARCHAR(20) NOT NULL,
'password' VARCHAR(40) NOT NULL,
'salt' VARCHAR(40) DEFAULT NULL,
'email' VARCHAR(80) NOT NULL,
'created_on' INT(11) UNSIGNED NOT NULL,
'last_login' INT(11) UNSIGNED DEFAULT NULL,
'active' TINYINT(1) UNSIGNED DEFAULT NULL,
)
ENGINE InnoDB;
L'erreur que j'obtiens est:
You have an error in your SQL syntax; check the manual that corresponds to your
MySQL server version for the right syntax to use near ''users';
CREATE TABLE 'users' (
'id' INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,' at line 3
Elapsed Time: 0 hr, 0 min, 0 sec, 0 ms.
Aussi, quelqu'un a une bonne tutoriels sur la façon d'utiliser Zend_Auth pour compléter les noobs?
Grâce.
Quel est l'erreur?
pourquoi utiliser des arrière-tiques - inutile si vous me demandez
Certains grains de gens insistent sur l'utilisation de certains mots-clés pour les identificateurs.
pourquoi utiliser des arrière-tiques - inutile si vous me demandez
Certains grains de gens insistent sur l'utilisation de certains mots-clés pour les identificateurs.
OriginalL'auteur Adam M-W | 2011-01-09
Vous devez vous connecter pour publier un commentaire.
Table et de la colonne des identifiants sont indiqués à l'aide de backticks (ou des guillemets si vous avez configuré).
En outre, vous avez une virgule à la fin de votre liste de colonnes.
merci, fixe.
Pas de probs ajouté quelques rep de toute façon
pourquoi ne pas simplement l'id mediumint unsigned - ce qui est le point de spécifier une largeur de 8 si vous ne l'utilisez pas zerofill ne ????
comment puis-je savoir? Il n'est pas problématique, de sorte que je n'ai pas le modifier.
OriginalL'auteur jasonbar
Vous utilisez des guillemets simples au lieu de backticks pour votre table et les noms de champ, ce qui est faux. Il devrait également être un signe d'égalité entre
ENGINE
etInnoDB
.Voici le fixe SQL:
OriginalL'auteur BoltClock