INSERT + SELECT jednoczesnie (MySQL)
mgora - 17-06-2007 00:16
INSERT + SELECT jednoczesnie (MySQL)
Witam,
przepraszam ze nieco chaotycznie ale nie wiem jak fachowo opisac problem :-)
W MySQL, istnieje tabela:
CREATE TABLE trans_id ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, customer_info VARCHAR(200), site_name VARCHAR(20) NOT NULL, cur_timestamp TIMESTAMP(8)
);
Wstawiam do niej dane tak:
INSERT INTO trans_id(site_name, customer_info) VALUES ("test.pl", "Test Customer"); Pozniej numer ID moze sobie wyciagnac SELECTEM.
Czy zamiast tego, istnieje zapytanie ktore by wykonalo mi to INSERT i jednoczesnie zwrocilo wartosc pola ID, ktore jest autoincrement?
Wiem ze to troche niejasno brzmi, ale nie wiem jak sie to fachowo nazywa w zwiazku z czym ciezko mi cos znalezc w googlu - jak za jednym zamachem dodac transakcje i zwrocic jej ID ktore jest generowane przez MySQL.... taki SELECT-INSERT ;-)
Pozdrawiam, Marcin Gora
Piotr Keplicz - 17-06-2007 00:16
mgora: > Wiem ze to troche niejasno brzmi, ale nie wiem jak sie to fachowo > nazywa w zwiazku z czym ciezko mi cos znalezc w googlu - jak za jednym > zamachem dodac transakcje i zwrocic jej ID ktore jest generowane przez > MySQL.... taki SELECT-INSERT ;-)
Za jednym zapytaniem si? nie da, najpierw musisz zrobi? INSERT, potem SELECT LAST_INSERT_ID().
..pk.
Ronald Kuczek - 17-06-2007 00:16
Piotr Keplicz napisa?(a): > mgora: >> Wiem ze to troche niejasno brzmi, ale nie wiem jak sie to fachowo >> nazywa w zwiazku z czym ciezko mi cos znalezc w googlu - jak za jednym >> zamachem dodac transakcje i zwrocic jej ID ktore jest generowane przez >> MySQL.... taki SELECT-INSERT ;-) > > Za jednym zapytaniem si? nie da, najpierw musisz zrobi? INSERT, potem SELECT > LAST_INSERT_ID().
A mo?e jednak si? da. Wystarczy napisa? stored procedure, która zrobi insert i zwróci last_insert_id() ;-) Zostanie call wstaw_nowy_rekord_do_trans_id(customer_info,site_n ame) Mia?o by? jedno zapytanie to niech b?dzie.
Pozdrawiam Rony
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[mysql] =?ISO-8859-2?Q?Za=E6mienie=2E=2E=2E_jak_wy=B6wietli=E6?==?ISO-8859-2?Q?=2E=2E=2E?=
[mysql] =?ISO-8859-2?Q?wielko=B6=E6_bazy_a_stabilno=B6=E6=2C?==?ISO-8859-2?Q?_podzia=B3_du=BFej_bazy_a_powi=B1zania_tabel?=
[MySQL] =?ISO-8859-2?Q?Wy=B6wietlenie_kolejnej_pozycji=2C_?==?ISO-8859-2?Q?jak=B1_mia=B3by_dany_rekord=2C_gdybym_czyta=B3 _?==?ISO-8859-2?Q?wg_konkretnych_kryteri=F3w=2E_Da_si=EA_=3F?=
[mysql 4.0.x] przenoszenie kolum =?ISO-8859-2?Q?mi=EAdzy_bazam?==?ISO-8859-2?Q?i_cd_=2E=2E=2E_?=
[MySQL] =?ISO-8859-2?Q?z=B3=B1czenie_tabeli_u=BFytkownik_i?==?ISO-8859-2?Q?_zdj=EAcia_z_wyborem_zdj=EAcia_domy=B6lnego?=
[MySQL] Jak =?ISO-8859-2?Q?wpisa=E6_do_tabeli_pozycje_dl?==?ISO-8859-2?Q?a_wierszy_gdybym_te_wiersze_wybiera=B3_w_ok?== ?ISO-8859-2?Q?re=B6lonej_kolejno=B6ci_=3F?=
Gdzie MySQL 4.1, a gdzie 5.0?
[MS SQL] "set names" (mySQL) w MS SQL
[mysql 5.x] jak =?ISO-8859-2?Q?zrealizowa=E6_zapytanie=3F_cz?==?ISO-8859-2?Q?yli_podzapytanie_i_wi=EAcej_ni=BF_jeden_rz=B1? ==?ISO-8859-2?Q?d_wynik=F3w?=
MySQL - jak =?ISO-8859-2?Q?wyeksportowa=E6_zawarto=B6=E6_wie?==?ISO-8859-2?Q?lkiej_tabeli?=
zanotowane.pldoc.pisz.plpdf.pisz.plwawa19wwa91.pev.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 |
|