Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment envoyer des données à deux tables avec le même ID utilisateur comme clé primaire ?

Avant tout , vous ne devez plus utiliser l'extension mysql_*. Aller vers PDO ou mysqli

Votre technique génère deux identifiants uniques différents. Le but est d'en avoir seulement un , afin qu'il puisse être unique, et lier les informations sur cet identifiant unique.

La table des utilisateurs est celle avec cet identifiant unique, user_id , qui est votre colonne auto_increment. La table customer_info peut également avoir un info_id colonne unique, mais doit contenir un user_id colonne, qui contiendra le user_id de l'utilisateur , reliant les lignes entre elles.

Ce serait également un bon moment pour ajouter une clé étrangère à vos tables afin que l'intégrité des données ne soit pas compromise.

donc après cette requête :

$result = mysql_query(
    "INSERT INTO `users`(username, password, email) VALUES ('$value1', '$value2','$value3')"
);

obtenir l'identifiant de l'insert :

$id = mysql_insert_id();

puis lancez votre autre requête avec :

$result = mysql_query(
    "INSERT INTO `customer_info`(user_id,firstname, lastname, b_add_num, b_add_road, b_add_town, b_add_pc, p_add_num, p_add_road, p_add_town, p_add_pc) VALUES ('$id','$value4','$value5','$value6','$value7','$value8','$value9','$value10','$value11','$value12','$value13')"
);