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 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 ..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
unique_id_users int(11) not null,
alors que dans ma table users
Code : Sélectionner tout - Visualiser dans une fenêtre à part
unique_id varchar(23) not null unique,