Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como enviar dados para duas tabelas com o mesmo ID de usuário como chave primária?


Antes de qualquer coisa , você não deve mais usar a extensão mysql_*. Vá para PDO ou mysqli

Sua técnica gera dois IDs únicos diferentes. O objetivo é ter apenas um , para que possa ser exclusivo e vincular informações a esse ID exclusivo.

A tabela de usuários é aquela com esse id exclusivo, user_id , que é sua coluna auto_increment. A tabela customer_info também pode ter um info_id coluna exclusiva, mas deve conter um user_id coluna, que conterá o user_id do usuário , ligando as linhas.

Também seria um ótimo momento para adicionar uma chave estrangeira às suas tabelas para que a integridade dos dados não seja comprometida.

então depois desta consulta:
$result = mysql_query(
    "INSERT INTO `users`(username, password, email) VALUES ('$value1', '$value2','$value3')"
);

obtenha o ID de inserção:
$id = mysql_insert_id();

em seguida, execute sua outra consulta com ele:
$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')"
);