Maris-S Posted December 9, 2008 Report Share Posted December 9, 2008 Nesanāca sameklēt nevienu iespēju kā uzzināt izdzēstās id vērtības, bez papildus vaicājuma. Problēma ir sekojoša - ir tabula, kurā sadaļas glabājās klasiskā koka struktūrā (izmanto parent_id), kad izdzēš zaru kuram ir apakšzari, automātiski izdzēš arī apakšzarus, jo ir izmantota reference. Ar pašu koku nav nekādu problēmu, bet papildus ir jāizdzēš arī bildītes, kas ir piesaistītas dzēšamajām sadaļām, kas ir piesaistītas ar identifikatoru. Man nesanāca atrast nekādu paredzētu šādām darbībām funkciju. Vai ir mysqlam šādām situācijām kaut kas analogs LAST_INSERT_ID(), kas atgrieztu ietekmēto id kopu? Link to comment Share on other sites More sharing options...
Aleksejs Posted December 9, 2008 Report Share Posted December 9, 2008 Vai trigers nebūtu piemērots šādām darbībām? http://dev.mysql.com/doc/refman/5.1/en/trigger-syntax.html Link to comment Share on other sites More sharing options...
Delfins Posted December 9, 2008 Report Share Posted December 9, 2008 dzēšot, fiksē ID-us citā tabulā.. (trigeris vai custom php inserts, kur tev tā rekursija) vēlāk batch-skripts izdarīs savu ļauno darbu :) Link to comment Share on other sites More sharing options...
bubu Posted December 9, 2008 Report Share Posted December 9, 2008 Ierakstu, kas piesaisīti ar ārējo atslēgu, automātiskai dzēšanai paredzēta ON DELETE CASCADE konstrukcija: http://dev.mysql.com/doc/refman/5.0/en/inn...onstraints.html Tā automātiski izdzēsīs uz dzēšamo ierakstu referencējošos ierakstus no citām tabulām. Natceros tik vai MyISAM formāts to supportēja. Bet nu lieliska iespēja tev apsvert InnoDB tabulu formāta izmantošanu. Link to comment Share on other sites More sharing options...
Recommended Posts