Bonjour,

Voila je rencontre un petit problème avec mon code.

Décrivez ici votre code ou ce que vous cherchez à faire

j'essaie de con struire une base de donnée telle que vous faite dans refactorisation (espace membres)`` Entourez votre code pour bien le mettre en forme CREATE TABLE IF NOT EXISTS user(
'id' int(11) NOT NULL,
'username' varchar(255) NOT NULL,
'email' varchar(255) NOT NULL,
'password' varchar(255) NOT NULL,
'remember_token' varchar(255) NOT NULL,
'confirmatkion_token' varchar(255) NOT NULL,
'confirmed_at' DATETIME DEFAULT NULL,
'reset_Token' varchar(255) NOT NULL,
'reset_at' DATETIME DEFAULT NULL,
)ENGINE=InnDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;

Ce que je veux

Décrivez ici ce que vous cherchez à obtenir

Ce que j'obtiens

1089 mauvaise soous clef. Ce n'est pas un 'string' ou la longueur dépasse celle définie dans la clef.

3 réponses


Lartak
Réponse acceptée

Bonjour.
Si tu as cette erreur, c'est tout simplement dû au fait que tu définies une valeur pour un AUTO_INCREMENT, sauf que tu ne définies pas de colonne qui s'incrémente automatiquement.
Il ne te faut pas non plus oublier de définir la colonne comme clé primaire.
Pour faire simple, utilises plutôt :

CREATE TABLE IF NOT EXISTS `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(255) NOT NULL,
  `email` varchar(255) NOT NULL,
  `password` varchar(255) NOT NULL,
  `remember_token` varchar(255) NOT NULL,
  `confirmation_token` varchar(255) NOT NULL,
  `confirmed_at` datetime DEFAULT NULL,
  `reset_token` varchar(255) NOT NULL,
  `reset_at` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
Cestmoi
Auteur
Réponse acceptée

Merci, c'est réglé en ne mettant pas de valeur à id, encore merci

Lartak
Réponse acceptée

De rien.
Si ton problème est résolu, marques ton sujet comme tel.