Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie sende ich Daten an zwei Tabellen mit derselben Benutzer-ID als Primärschlüssel?

Vor allem , sollten Sie die Erweiterung mysql_* nicht mehr verwenden. Gehen Sie zu PDO oder mysqli

Ihre Technik generiert zwei verschiedene eindeutige IDs. Der Punkt ist, nur einen zu haben , damit es eindeutig sein kann, und verknüpft Informationen zu dieser eindeutigen ID.

Die Benutzertabelle ist diejenige mit dieser eindeutigen ID, user_id , was Ihre auto_increment-Spalte ist. Die Tabelle customer_info kann auch eine info_id haben eindeutige Spalte, muss aber eine user_id enthalten Spalte, die die user_id des Benutzers enthält , indem die Zeilen miteinander verknüpft werden.

Es wäre auch ein großartiger Moment, einen Fremdschlüssel hinzuzufügen zu Ihren Tabellen, damit die Integrität der Daten nicht beeinträchtigt wird.

also nach dieser Abfrage:

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

Holen Sie sich die Insert-ID:

$id = mysql_insert_id();

Führen Sie dann Ihre andere Abfrage damit aus:

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