![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 14.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Staram się wyłuskać zapytanie do bazy danych MySQL, które usunie z bazy dane. Schemat: -tabela1, a w niej klucz podstawowy id (int) -tabela2,a w niej klucz obcy fk_id Chcę usunąć dane z tabeli tabela1, z których klucza nie ma w tabeli2 jednym zapytaniem. Oto niektóre moje nieudane próby:
Proszę o podpowiedź (IMG:style_emoticons/default/smile.gif) Ten post edytował stmaciek 2.01.2011, 19:45:57 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
z tego co zrozumiałem to tabela1 i tabela2 zawierają powiązane dane łączone na kolumnach tabela1.id = tabela2.fk_id
możesz zrobić to 2 zapytaniami, nie wiem czy da się to zrobić jednym zapytaniem: 1. pobierasz id rekordów z tabela1, które mają dane powiązane w tabela2
zbierasz je do tablicy i funkcją implode przerabiasz na 1,2,3,4,5,6 2. używając NOT IN usuwasz wszystkie inne
edit: możesz też spróbować z podzapytaniem (subquery) Ten post edytował tehaha 2.01.2011, 20:07:43 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 14.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Już działa (IMG:style_emoticons/default/smile.gif) może bez implode'a, bo ja nie wierzę w takie funkcje i robię to w pętli, pisząc własne (IMG:style_emoticons/default/smile.gif) dzięki!
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 26.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Napisz jak to zrobiłeś a nie tylko napisałeś że działa.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 16:26 |