sql >> Databáze >  >> RDS >> Mysql

Jak odeslat data do dvou tabulek se stejným ID uživatele jako primární klíč?

Před čímkoli , neměli byste již používat rozšíření mysql_*. Přejděte na CHOP nebo mysqli

Vaše technika generuje dvě různá jedinečná ID. Jde o to mít jen jeden , aby mohl být jedinečný, a propojit informace o tomto jedinečném ID.

Tabulka uživatelů je ta s jedinečným ID, user_id , což je váš sloupec auto_increment. Tabulka customer_info může mít také info_id jedinečný sloupec, ale musí obsahovat user_id sloupec, který bude obsahovat user_id uživatele , spojující řádky dohromady.

Také by bylo skvělé přidat cizí klíč do vašich tabulek, aby nebyla narušena integrita dat.

takže po tomto dotazu:

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

získat ID vložení:

$id = mysql_insert_id();

pak s ním spusťte svůj další dotaz:

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


  1. Problém s konektorem Confluent zdroje JDBC

  2. jak exportovat data z přibližně 300 tabulek v ORACLE DB do souborů csv nebo txt

  3. Je použití znaku jako primárního/cizího klíče ne ne?

  4. pg_dump s --exclude-table stále obsahuje tyto tabulky v příkazech COPY na pozadí, které spouští?