Bonjour tout le monde ! J'ai un petit problème dans la gestion de ma BDD j'ai créer une première table users comme ceci :
1 2 3 4 5 6 7 8 9 10
| create table users(
uid int(11) primary key auto_increment,
unique_id varchar(23) not null unique,
name varchar(50) not null,
email varchar(100) not null unique,
encrypted_password varchar(80) not null,
salt varchar(10) not null,
created_at datetime,
updated_at datetime null
); |
et je souhaiterais faire une deuxième table famille comme cela :
1 2 3 4 5 6 7 8 9 10 11
| create table familles(
fid int(11) primary key auto_increment,
unique_fam_id varchar(23) not null unique,
name_fam varchar(50) not null,
unique_id_users int(11) not null,
encrypted_password_fam varchar(80),
salt_fam varchar(10) not null,
created_at datetime,
updated_at datetime null,
FOREIGN KEY(unique_id_users) REFERENCES users(unique_id)
); |
J'utilise phpmyadmin pour gérer tout ça et lorsque j'exécute la requette pour créer la table famille, j'ai cette erreur :
#1005 - Can't create table 'mabase.familles' (errno: 150) (Détails…)
Supports transactions, row-level locking, and foreign keys
Je n'arrive pas à trouver une solution.
Merci d'avance.
EDIT : je pense que le fait que unique_id ne soit pas clé primaire empeche le foreign key ? Est ce exact ?
Si c'est le cas comment faire cette contrainte ? Le fait que l'"unique_id" appartienne a famille ? En gros que un user appartiennent à une famille ?
Merci.
EDIT 2 : Je pars chez l'ophtalmo ..
unique_id_users int(11) not null,
alors que dans ma table users
unique_id varchar(23) not null unique,
Partager