![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 195 Pomógł: 0 Dołączył: 13.04.2004 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Mam dwie tabele: Kod TABELA 1 Chcę teraz usunąć rekordy z obu tabeli, ale uwaga: Chcę usunąć wszystkie wpisy z pierwszej tabeli dla konkretnej wartości pola owner i wszystkie wpisy z drugiej tabeli, której owner jest identyczny z przynajmniej jednym z id z kasowanych rekordów. Brzmi to trochę zagmatwanie, więc wyjaśnimy sytuację:+-------+-----------+----------+----------+ | id | owner | name | value | +-------+-----------+----------+----------+ | 1 | 1 | obrazek | obraz.jpg| | 2 | 1 | atrybut | jpeg | | 3 | 1 | costam | wartosc | | 4 | 2 | rekord | wartosc | +-------+-----------+----------+----------+ TABELA 2 +-------+-----------+----------+----------+ | id | owner | name | value | +-------+-----------+----------+----------+ | 1 | 1 | obrazek | obraz.jpg| | 2 | 1 | atrybut | jpeg | | 3 | 2 | costam | wartosc | | 4 | 3 | rekord | wartosc | | 5 | 4 | rekord2 | wartosc2 | +-------+-----------+----------+----------+ Kasuję rekordy o owner = 1: Z pierwszej tabeli wylatują rekordy o id 1, 2, 3 Z drugiej tabeli wylatują rekordy o polu owner równym 1, 2, 3 (=wartości skasowanych id z pierwszej tabeli) - czyli pola o id 1, 2, 3, 4 W sumie kasuję 7 rekordów z dwóch tabel O ile usuwanie z pierwszej tabeli to banał - polecenie i po problemie. Ale z jednoczesnym kasowaniem z drugiej tabeli nie umiem sobie poradzić -------------------- Językiem którym najlepiej operują wszyscy programiści są przekleństwa.
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%) ![]() ![]() |
Jaki masz serwer baz danych moze bys napisal :?:
-------------------- Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 195 Pomógł: 0 Dołączył: 13.04.2004 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
MySQL
![]() -------------------- Językiem którym najlepiej operują wszyscy programiści są przekleństwa.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
wersja?
Jeśli 5 - to chyba możesz skorzystać z trigerów, jeśli starsza - czy to nie czas na przesiadkę na Postgresa? -------------------- "Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 91 Pomógł: 0 Dołączył: 7.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
albo
2 dziala na 100% a pierwsze nie wiem bo nie urzywam czesto ![]() |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 195 Pomógł: 0 Dołączył: 13.04.2004 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Niestety 4.1 - a co do przesiadki mam bardzo ograniczone możliwości w tym względzie
Oba przykłady działają, ALE działają tylko dla rekordów które mają przynajmniej 1 odpowiednik w drugiej tabeli. Tymczasem część rekordów z pierwszej nie ma takich odpowiednich rekordów - wtedy dane z nich nie są kasowane -------------------- Językiem którym najlepiej operują wszyscy programiści są przekleństwa.
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 91 Pomógł: 0 Dołączył: 7.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
mozesz zrobic jeszcze tak
ALE musisz miec kazdy odpowiednik id z tabeli1 w tabeli2 w polu owner bo inaczej : jak masz w tabeli2 pole owner=8 i nie bedziesz mial w tabeli1 id=8 to to tez usunie |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 19:17 |