Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL]Oczyszczanie bazy danych
miccom
post
Post #1





Grupa: Zarejestrowani
Postów: 493
Pomógł: 8
Dołączył: 7.07.2007
Skąd: Tychy

Ostrzeżenie: (0%)
-----


Cześć (IMG:style_emoticons/default/smile.gif)

Poszukuję rozwiązania (IMG:style_emoticons/default/smile.gif)

Mam dwie tabele: user i units
w tabeli user mam rekord id, a w tabeli units mam rekord userID (IMG:style_emoticons/default/smile.gif)
Proste.

I chciałbym usunąć wszystkie rekordy z tabeli units które nie mają swojego odpowiednika userID w tabeli user.

Jak skonstruować zapytanie do bazy danych aby usunąć rekordy bez pary?
Będę wdzięczny za pomoc.
Go to the top of the page
+Quote Post
SmokAnalog
post
Post #2





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Możesz użyć EXISTS:

  1. DELETE
  2. FROM `units`
  3. WHERE NOT EXISTS
  4. ( SELECT 1
  5. FROM `user`
  6. WHERE `id` = `units`.`userID` );


A tak na przyszłość, to ustaw sobie klucz obcy (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #3





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


  1. DELETE FROM units WHERE userID NOT IN (SELECT id FROM users);
Go to the top of the page
+Quote Post
Pyton_000
post
Post #4





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


  1. DELETE us FROM units us LEFT JOIN users u ON users.id = units.userID WHERE user.id IS NULL;


Coś w ten deseń.

Ten post edytował Pyton_000 10.03.2018, 20:39:18
Go to the top of the page
+Quote Post
miccom
post
Post #5





Grupa: Zarejestrowani
Postów: 493
Pomógł: 8
Dołączył: 7.07.2007
Skąd: Tychy

Ostrzeżenie: (0%)
-----


Heh, trzech moich najlepszych guru programowania się odezwało...
I który kod wybrać?
Ot i zadanie (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Pyton_000
post
Post #6





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Wybież @nospor'a (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 9.10.2025 - 04:00