Getting vlerën e fundit e futur në auto-Rritja e MySQL
E pra, le të shkojë post të shpejtë sot.
Në MySQL, dhe shumë banka ka një rritje auto që është përdorur për fusha kryesore kryesore e tabelave, duke i penguar se ka dy të dhënat me të njëjtin kod.
Në MySQL, përdoruesi nuk mund të dinë paraprakisht, në mënyrë të sigurtë, të cilat vlera e ardhshëm që do të krijohet për fushën rritje auto në një tavolinë. Vetëm pasi të fusni një rekord në tabelë është se ne e dimë. Në PHP, për shembull, ka funksion mysql_insert_id se kthimi në vlera të krijuara për fushën auto rritje në komandën e futur e fundit e ekzekutuar. Kjo është e dobishme kur ne duhet të përfshijë të dhënat në tabelë tjetër që do të jenë të lidhura me të dhënat që ishte futur, për shembull, kur ne kemi një tavolinë shitjen dhe një tjetër item_venda. Një tabelë shitje do të zakonisht kanë një auto fushë cod_venda rritje. Dhe për të regjistruar një shitje, ne duhet të përfshijë të paktën një pikë të shitjes, e cila është e lidhur me shitjen që ishte futur. Për të bërë këtë marrëdhënie, tabela do të zakonisht kanë një cod_venda item_venda fushë për të bërë këtë shoqatë, në mënyrë që cod_venda tryezë item_venda duhet të ketë rritje të vlerës së shitjes auto fushë cod_venda tryezë. Pra, për këtë arsye që ne i përdorim në PHP funksion mysql_insert_id.
Por në gjuhë të tjera si Delphi, ka një funksion të ngjashëm me PHP mysql_insert_id kështu si për të kthyer vlerën auto rritje të krijuara nga futur fundit? Simple, përdorni SELECT LAST_INSERT_ID SQL ();. Pavarësisht nga gjuhë programimi që ju përdorni, këtë do të punojnë. Ju mund të krijojë edhe një funksion të quajtur mysql_insert_id gjuhë programimi që ju doni të drejtuar SQL treguar më sipër dhe pastaj vetëm thirrje të funksionit sa herë të doni. Shiko shembull në Delphi duke përdorur komponente DBExpress:
funksion mysql_insert_id (SQLConnection: TSQLConnection): Integer;
SQLDataSet var: TSQLDataSet;
fillojnë
Rezultati: = 0;
SQLDataSet: TSqlDataSet.Create = (zero);
përpjekje
SQLConnection SqlDataSet.SQLConnection: =;
SqlDataSet.CommandText: = 'LAST_INSERT_ID ZGJIDH ()';
SqlDataSet.Open;
Rezultati: = SqlDataSet.Fields [0]. AsInteger;
SqlDataSet.Close;
më në fund
SqlDataSet.Free;
fund;
fund;
Për të thirrur funksioni duhet të kalojnë një objekt të TSQLConnection klasës me parametër, që paraqet lidhje me bazën e të dhënave.
Unë shpresoj se kjo është e dobishme, ashtu siç ishte për mua.
T +
Related posts:
- Update me Join me MySQL
- Duke mos i përfshirë të Jashtme pengesat kryesore në MySQL (permbajtje te ulet)
- identifikues Fjala në MySQL në Windows
- Duke përdorur mjete nga vija e komandës së MySQL
- 5 MySQL Delphi dhe Firebird në 2007 me dy DBExpress
Related posts solli juve nga një tjetër të ngjashme Posts Plugin .






Ky artikull ka qenë i ndihmuar të mëdha për mua.
Big përqafim!
nambahin GMN fytyrë otomatis kode, mis kode "A0001" hedh në sy setiap Entri data kode i2 nambah tharë otomatis Akan jd "A0002." .. Tolong Yach?
Na vjen keq, unë vetëm Kuptojnë dhe portugalisht Português.