CREATE TABLE IF NOT EXISTS `klienci` ( `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci AUTO_INCREMENT=7 ; CREATE TABLE IF NOT EXISTS `klienci_info` ( `id_klienta` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id_klienta`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci AUTO_INCREMENT=7 ; CREATE TABLE IF NOT EXISTS `zamowienia` ( `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, `klient_id` int(10) UNSIGNED NOT NULL, KEY `klient_id` (`klient_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci AUTO_INCREMENT=57 ; CREATE TABLE IF NOT EXISTS `zamowienia_info` ( `id_zamowienia` int(10) UNSIGNED NOT NULL, PRIMARY KEY (`id_zamowienia`), KEY `id_zamowienia` (`id_zamowienia`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci; CREATE TABLE IF NOT EXISTS `zamowienia_inny_adres` ( `id_zamowienia` int(10) UNSIGNED NOT NULL, PRIMARY KEY (`id_zamowienia`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci; CREATE TABLE IF NOT EXISTS `zamowienia_inny_kontakt` ( `id_zamowienia` int(10) UNSIGNED NOT NULL, PRIMARY KEY (`id_zamowienia`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci; CREATE TABLE IF NOT EXISTS `zamowienia_notatki` ( `id_zamowienia` int(10) UNSIGNED NOT NULL, PRIMARY KEY (`id_zamowienia`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci; CREATE TABLE IF NOT EXISTS `zamowione_produkty` ( `id_zamowienia` int(10) UNSIGNED NOT NULL, `ean_produktu` char(13) COLLATE utf8_polish_ci NOT NULL, KEY `id_zamowienia` (`id_zamowienia`,`ean_produktu`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci; CREATE TABLE IF NOT EXISTS `generowanie_hasla` ( `id_klienta` int(10) UNSIGNED NOT NULL, PRIMARY KEY (`id_klienta`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci;
I teraz chcę jednym zapytaniem usunąć jeden rekord z każej tabeli. Robię więc coś takiego:
DELETE FROM klienci, klienci_info, zamowienia, zamowienia_info, zamowienia_inny_adres, zamowienia_inny_kontakt, zamowienia_notatki, zamowione_produkty, generowanie_hasla WHERE klienci.id=1 AND klienci_info.id_klienta=klienci.id AND zamowienia.klient_id=klienci.id AND zamowienia_info.id_zamowienia=zamowienia.id AND zamowienia_inny_adres.id_zamowienia=zamowienia.id AND zamowienia_inny_kontakt.id_zamowienia=zamowienia.id AND zamowienia_notatki.id_zamowienia=zamowienia.id AND zamowione_produkty.id_zamowienia=zamowienia.id AND generowanie_hasla.id_klienta = klienci.id
Jednak otrzymuję komunikat:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE klienci.id=1 AND klienci_info.id_klienta=klien' at line 11
Co mogę robić źle..?
Moja wersja bazy: 5.1.63