sql insert
Antonin 'Tonino' Kmoch
xkmoch na aisa.fi.muni.cz
Sobota Prosinec 14 02:42:58 MET 2002
On Thu, 12 Dec 2002, rootmj wrote:
> Chtel bych aby prechod z nynejsi SQLite na napr MySQL byl bezproblemovy.
> V idealnim pripade jen zamena v DBI->connect. Zajimalo by me jak mam
> postupovat v pripade ze chci vlozit novy radek do tabylky a zjistit
> cislo primarniho klice tohoto noveho radku. Nyni to delam pomoci.
>
> $new_row_id = $dat->func('last_insert_rowid');
>
> Coz je mozne v SQLite v pripade ze je primarni klic definovan takhle
> id_fak INTEGER AUTO_INCREMENT PRIMARY KEY
>
> Kompatibilni moznost me napada jen jedna
> # $new_row_id = SELECT MAX(id_fak) FROM faktury
> a pote insert
> # INSERT INTO faktury (id_fak,cis_fak,id_odb) VALUES ($new_row_id,?,?)
>
> Coz je ale slozitejsi a pomalejsi ale snad kompatibilni.
> Existuje lepsi prenositelne reseni?
Nejake mozne metody jsou uvedeny napr. na strane 10 v dokumentu:
http://search.cpan.org/src/TIMB/dbd-summaries-19990519/dbd-mysql-msql.pdf
Doufam, ze to pomuze...
P.S. Vybirat novy prim. klic pres MAX neni vhodne, pac novy primarni klic
muze byt mensi nez maximum - kdyz "pretece" (ale to zalezi, jak je to v
mySQL nastavene).
Tonda
Další informace o konferenci Perl