Quel est le problème avec cette simple MySQL instruction CREATE TABLE?
C'est une simple instruction CREATE TABLE que je vais écrire dans PHPMyAdmin. Ok, je sais que je pourrais simplement faire de la manière la plus facile dans PHPMyAdmin mais je tiens à avoir le plein contrôle. Voici l'énoncé:
CREATE TABLE profile
(
id int NOT NULL AUTO_INCREMENT,
PRIMARY KEY(id),
type int(1) NOT NULL,
view int(1) NOT NULL default '1',
ver int(1) NOT NULL default '2',
email NOT NULL varchar(32),
password NOT NULL varchar(16),
first varchar(32),
last varchar(32),
site varchar(64),
address varchar(32),
city varchar(32),
zip int,
state char(2),
country varchar(50),
about text,
datereg int(20)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
- #1064 - Vous avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à votre versions du serveur MySQL pour la bonne syntaxe à utiliser près de 'not NULL varchar(32), le mot de passe NULL varchar(16), la première de type varchar(32), dernier" à la ligne 8
- Pourquoi êtes-vous à l'aide de cordes,
'1'
et'2'
, comme valeurs par défaut pour les colonnes de type entier? MySQL va probablement être d'accord avec elle, mais c'est une mauvaise habitude.
Vous devez vous connecter pour publier un commentaire.
j'ai remplacé
avec
et il a travaillé
Il y a plus d'une erreur, ce qui rend votre instruction SQL ne fonctionne pas.
Essayez plutôt ceci:
Quelques ajouts:
échappé correctement), mais il aide l'aide de n'en avoir aucun.
les noms et le nom de votre table correctement.
http://dev.mysql.com/doc/refman/5.1/en/create-table.html
essayer ça =)
vue est un mot Clé MySQL. Si vous souhaitez utiliser une colonne avec le même nom, vous devez l'entourer de backticks comme
NOT NULL
doit venir après le type. Voir @Bjoern réponseSans voir quelle est l'erreur, je dirais que c'est une faute parce que vous tentez de nom d'une colonne avec MySQL est un mot clé réservé - ma conjecture est
view
Si vous placez backticks " autour de vos noms de colonne, il vous permettra d'utiliser des mots réservés.
Juste souvenez-vous de toutes les autres requêtes sur la table qui va aussi besoin de la backticks autour de la colonne de noms qui utilisent des mots réservés.
par exemple.