sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo enviar datos a dos tablas con la misma ID de usuario como clave principal?

Antes de nada , ya no debe usar la extensión mysql_*. Dirígete a PDO o mysqli

Su técnica genera dos identificaciones únicas diferentes. El punto es tener solo uno , para que pueda ser único y vincule información sobre esa identificación única.

La tabla de usuarios es la que tiene esa identificación única, user_id , que es su columna de auto_incremento. La tabla customer_info también puede tener un info_id columna única, pero debe contener un user_id columna, que contendrá el user_id del usuario , uniendo las filas.

También sería un gran momento para agregar una clave externa a sus tablas para que la integridad de los datos no se vea comprometida.

así que después de esta consulta:

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

obtener el ID de inserción:

$id = mysql_insert_id();

luego ejecuta tu otra consulta con ella:

$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')"
);