ugrás a tartalomhoz

Két, kapcsolt tábla feltöltésére vonatkozó kérdés

Anonymous · 2005. Okt. 4. (K), 10.49
Sziasztok!
Egy nagyon lúzerjúzer kérdésem lenne:

Több e-mail-t szeretnék tárolni egyetlen személyhez rendelve, de még nem tudom előre hogy hány az a "több".

Az tiszta, hogy két táblát kell összekapcsolnom(joinnal), id-k alapján a lekérdezés stb, de az adatok bevitele még nem világos.

Valahogy így nézne ki a dolog (asszem):
tabla1     tabla2
+------+   +-------+
|usr_id|---|usr_id |
| knev |   | eml_id|
| vnev |   | email |
+------+   +-------+


Mindkét oldalon auto incrementelni kell az id-ket? Vagy csak az egyiken?
A kulcs gondolom a usr_id lesz..
Hogyan lesz ua. az id egy adatfelvitelkor? (ezt csak a php-s mysql_insert_id-vel tudom csak megoldani, vagy van rá vmi sql utasítás is?)

Összefoglalva: ezt hogy szokták elegánsan, praktikusan, és ügyesen csinálni? :)
Kösszi szépen a válaszokat!
 
1

<Nincs cím>

Anonymous · 2005. Okt. 4. (K), 14.16
tabla1         tabla2
+----------+   +----------+
| usr_id   |---| usr_id   |
| knev     |   | eml_id   |
| vnev     |   | email    |
| ...      |   | ...      |


először felviszed a személyt. a php-s - általad is említett - mysql_insert_id fv. visszaadja neked, hogy a mysql milyen usr_id-t adott a tabla1-be való illesztéskor.
ezután felviszed az e-mailt úgy, hogy a usr_id-nak a visszakapott értéket adod meg.

mysql_query("insert into tabla1 (knev, vnev) values ('ipszilon','iksz')",$sql);

mysql_query("insert into tabla2 (usr_id, eml) values ('".mysql_insert_id($sql)."','ide szoveg')",$sql);


persze ezt még egy csomó hibakezeléssel lehetne kiegészíteni.
2

re

Anonymous · 2005. Okt. 4. (K), 15.13
Nagyon köszi a választ! Sokat segítettél!
3

<Nincs cím>

Anonymous · 2005. Okt. 4. (K), 15.35
Még annyit elárulsz, hogy a tabla2-ben az eml_id-t kell beállítanom kulcsnak?

Mert azzal tisztában vagyok hogy a usr_id a tabla2-ben idegen kulcsként szerepel, viszont azt már nem tudom, hogy ezt hogy kell sql-ben jelezni, ha egyáltalán kell..
Köcci ;)