ďťż
 
=?iso-8859-2?q?MySQL_-_insert_do_dw=F3ch_tabel?= ďťż
 
=?iso-8859-2?q?MySQL_-_insert_do_dw=F3ch_tabel?=
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

=?iso-8859-2?q?MySQL_-_insert_do_dw=F3ch_tabel?=



fotozajac@gmail.com - 16-08-2007 00:00
=?iso-8859-2?q?MySQL_-_insert_do_dw=F3ch_tabel?=
  Piszę małą aplikację w Javie i nie wiem jak wstawić dane z formatki do
dwóch, powiązanych ze sobą tabel.

Mam utworzone dwie tabele:
T1 (id_t1, kolumna_1, kolumna_2, kolumna_3)
T2 (id_t2, id_t1, kolumna_A, kolumna_B)

id_t1, id_t2 - auto increment

Wstawiam insertem dane do tabeli T1 bez problemu, ale jak teraz
wstawić dane do tabeli T2 tak żeby były ze sobą powiązane. Na moje oko
problem sprowadza się do przechwycenia "id_t1" i wstawienia go do
tabeli T2, pytanie jak to zrobić ??
Czy mógłby ktoś napisać przykładowego inserta ?

Dzięki





Marcin - 16-08-2007 00:01

  fotozajac@gmail.com napisał(a):
> Piszę małą aplikację w Javie i nie wiem jak wstawić dane z formatki do
> dwóch, powiązanych ze sobą tabel.
>
> Mam utworzone dwie tabele:
> T1 (id_t1, kolumna_1, kolumna_2, kolumna_3)
> T2 (id_t2, id_t1, kolumna_A, kolumna_B)
>
> id_t1, id_t2 - auto increment
>
> Wstawiam insertem dane do tabeli T1 bez problemu, ale jak teraz
> wstawić dane do tabeli T2 tak żeby były ze sobą powiązane. Na moje oko
> problem sprowadza się do przechwycenia "id_t1" i wstawienia go do
> tabeli T2, pytanie jak to zrobić ??
> Czy mógłby ktoś napisać przykładowego inserta ?
>
> Dzięki
>

Zdaje się, że do tego celu służy funkcja last_insert_id():

mysql> create table t1
-> (
-> id_t1 int not null auto_increment primary key,
-> kolumna_1 varchar(10),
-> kolumna_2 varchar(10),
-> kolumna_3 varchar(10)
-> ) type=InnoDB;
Query OK, 0 rows affected, 1 warning (0.05 sec)

mysql>
mysql> create table t2
-> (
-> id_t2 int auto_increment primary key,
-> id_t1 int not null,
-> kolumna_A varchar(10),
-> kolumna_B varchar(10),
-> foreign key (id_t1) references t1(id_t1) on delete cascade
-> )
-> type=InnoDB;
Query OK, 0 rows affected, 1 warning (0.05 sec)

mysql> insert into t1(kolumna_1, kolumna_2, kolumna_3)
-> values ('1','2','3');
Query OK, 1 row affected (0.02 sec)

mysql> insert into t2(id_t1, kolumna_A, kolumna_B)
-> values(last_insert_id(), 'A', 'B');
Query OK, 1 row affected (0.03 sec)

mysql> select * from t1;
+-------+-----------+-----------+-----------+
| id_t1 | kolumna_1 | kolumna_2 | kolumna_3 |
+-------+-----------+-----------+-----------+
| 1 | 1 | 2 | 3 |
+-------+-----------+-----------+-----------+
1 row in set (0.00 sec)

mysql> select * from t2;
+-------+-------+-----------+-----------+
| id_t2 | id_t1 | kolumna_A | kolumna_B |
+-------+-------+-----------+-----------+
| 1 | 1 | A | B |
+-------+-------+-----------+-----------+
1 row in set (0.00 sec)

Pozdrawiam,
Marcin




fotozajac@gmail.com - 16-08-2007 00:01
=?iso-8859-2?q?Re:_MySQL_-_insert_do_dw=F3ch_tabel?=
  Dzięki serdecznie za obszerną informację. Z linii poleceń MySQL działa
spoko, zastanawia mnie tylko dlaczego wpisując te same inserty w
graficznej nakładce "MySQL Query Browser" wywala błąd:

Cannot add or update a child row: a foreign key constraint fails
(`test/t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`id_t1`) REFERENCES
`t1` (`id_t1`) ON DELETE CASCADE)

No cóż, pewnie nakładki nie są doskonałe he he.

Jeszcze raz dzięki.




Misiekd - 16-08-2007 00:01

  Dnia Wed, 15 Aug 2007 12:56:56 -0000, fotozajac@gmail.com napisał(a):

> Dzięki serdecznie za obszerną informację. Z linii poleceń MySQL działa
> spoko, zastanawia mnie tylko dlaczego wpisując te same inserty w
> graficznej nakładce "MySQL Query Browser" wywala błąd:
>
> Cannot add or update a child row: a foreign key constraint fails
> (`test/t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`id_t1`) REFERENCES
> `t1` (`id_t1`) ON DELETE CASCADE)
>
> No cóż, pewnie nakładki nie są doskonałe he he.
>
> Jeszcze raz dzięki.

przecież Ci pisze jak byk, że nie może wstawić bo w tabeli t1 nie masz
rekordu z wstawianym id

--
Pozdrawiam Misiekd
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    Gdzie MySQL 4.1, a gdzie 5.0? [MS SQL] "set names" (mySQL) w MS SQL oracle -> oracle lub oracle -> mysql replikacja - programy [mysql 4.0] SELECT t1.id, t1.foo FROM t1 oraz COUNT t2 w jednym zapytaniu. [MySQL] Zwrot tego, co pasuje i nie pasuje :-/ [pgsql] Dostosowanie składni MySQL 5.0 -> PGSQL 8.1 [mysql] galeria zdjec - numerowanie zdjec [MySQL] Zapytanie z pliku , wynik do pliku [mysql] CONCAT agregujący, ale nie GROUP_CONCAT() mysql data 0000-00-00 na koniec
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • lisinski.htw.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com