Analgiins Posted February 2, 2006 Report Share Posted February 2, 2006 Labsvakars! Runa iet par Multiple-table Delete syntax. Ir man divas tabulas: cms_pages un cms_blocks, resp., katrai lapai (page) var attiekties vairāki bloki. Lai izdzēstu lapu, ir jāizdzēš arī visi bloki, kas attiecas uz to lapu. Ar vienu vaicājumu, norādot tikai lapas id (vai arī vairākus) to var izdarīt šādi: DELETE cp, cb FROM `cms_pages` AS cp, `cms_blocks` AS cb WHERE cp.pg_id IN (3,5,78) AND cb.cb_page_id = cp.pg_id Lai arī cik tas stulbi nebūtu, bet tabulā cms_blocks var arī nebūt ieraksti, tb bloki, kas attiektos uz kādu lapu, līdz ar to vaicājums nenostrādā - page netiek dzēsts. Vēl mēģināju žulīties ar NULL, tjip ja nav bloku tabulā: DELETE cp, cb FROM `cms_pages` AS cp, `cms_blocks` AS cb WHERE cp.pg_id IN (3,5,78) AND (cb.cb_page_id = cp.pg_id OR cb.cb_page_id IS NULL) bet neiet cauri. Ir kādi varianti, kā to panākt? Negribētos dzēst page'es un blokus atsevišķi, bet to izdarīt ar vienu vaicājumu. Link to comment Share on other sites More sharing options...
Recommended Posts