Robis Posted February 20, 2005 Report Share Posted February 20, 2005 Sveiki! Pienjemsim man MySQL tabula ir divi lauki: `id` un `id_num` Respektivi `id` ir pirmarais autoincreament key! Bet es velos lai pie jaunu ierakstu inserteshanas, `id_num` pieshkjiras gan jaunaa `id` vertiba + vel pieliek kadu stringu, piemeram '_bz'! To ir iespejams dabut gatavu? Link to comment Share on other sites More sharing options...
tamster Posted February 20, 2005 Report Share Posted February 20, 2005 Var iegūt pēdējā pievienotā ieraksta Id vērtību ar mysql_insert_id, taču Tev laikam tāds variants neder, jo vajag vienā querijā. Ja der ar diviem, tad pirmajā to lauciņu atstāj tukšu, un otrajā ar update nomaini vērtību ar mysql_insert_id iegūto. Varbūt arī ir kāda SQL f-cija, ātri pārlaižot acis pār manuāli nepamanīju... Link to comment Share on other sites More sharing options...
bubu Posted February 20, 2005 Report Share Posted February 20, 2005 Gaidi versiju, kur būs pieejami trigeri. Šitādas lietas darās caur tiem :) Link to comment Share on other sites More sharing options...
Robis Posted February 20, 2005 Author Report Share Posted February 20, 2005 Nu atradu funkciju LAST_INSERT_ID() - ta nodereja, bet pilniba problemu neizdevas atrisinat, jo nezinu, ka var: UPDATE `table` SET `kautkas`='shis_kas_te jau ir' + kaut kas jauns Respektivi taja lauka nevis nomainit ar jauno, bet pielikt klat jaunu! Ir tada iespeja? Link to comment Share on other sites More sharing options...
bubu Posted February 20, 2005 Report Share Posted February 20, 2005 last_insert_id() atgriež tik pagājušās darbības insert'otā ieraksta id, ja. un par to konkatenēšanu - protams ka tāda iespēja ir! pats tak korektu update teikumu uzrakstīji. Link to comment Share on other sites More sharing options...
hmnc Posted February 21, 2005 Report Share Posted February 21, 2005 last_insert_id() atgriež tik pagājušās darbības insert'otā ieraksta id, ja.un par to konkatenēšanu - protams ka tāda iespēja ir! pats tak korektu update teikumu uzrakstīji. 14001[/snapback] un kā ir ar last_insert_id pie lielām slodzēm? resp - ja nospiež divi cilvēki vienlaicīgi podziņas un sanāk, ka pieprasījumi izpildās pamīšus? varētu būt visnotaļ interesanti :D Link to comment Share on other sites More sharing options...
PheliX Posted February 21, 2005 Report Share Posted February 21, 2005 last_insert_id ir katrai konekcijai savs. ja neizmanto persistent connections tad katram skriptam buus sava konekcija un ja arii kaads cits skripts pa vidu paspees kautko iebaazt - id no taa nemainiisies (katram buus savs last_insert_id). Link to comment Share on other sites More sharing options...
Venom Posted February 21, 2005 Report Share Posted February 21, 2005 vai nu insert .... update table set id_num=CONCAT(id,'_bz') WHERE id=LAST_INSERT_ID vai nu SELEXT MAX(id) as maxid ... LOCK TABLE $max=$result['maxid']+1 INSERT id=$maxid,id_num=$maxid.'_bz' UNLOCK Link to comment Share on other sites More sharing options...
Roze Posted February 21, 2005 Report Share Posted February 21, 2005 Gaidi versiju, kur būs pieejami trigeri. Šitādas lietas darās caur tiem :) 13998[/snapback] Vispār jau tāda versija ir iznākusi un var lietot ON DUPLICATE KEY http://dev.mysql.com/doc/mysql/en/insert.html Link to comment Share on other sites More sharing options...
Recommended Posts