Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z zapytaniem SQL
Martio
post 11.02.2008, 15:01:38
Post #1





Grupa: Zablokowani
Postów: 167
Pomógł: 2
Dołączył: 15.02.2004

Ostrzeżenie: (30%)
XX---


Przy wykonaniu takiego polecenia:

  1. DELETE FROM `content_tags` WHERE `id` NOT IN (SELECT `id` FROM `content_tags` GROUP BY `content_id`, `tag_id`);


pojawia się następujący błąd:

#1093 - You can't specify target table 'content_tags' for update in FROM clause

Zrzut tableli:

  1. CREATE TABLE `content_tags` (
  2. `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  3. `content_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
  4. `tag_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
  5. PRIMARY KEY (`id`),
  6. KEY `page_tags_FKIndex1` (`tag_id`),
  7. KEY `page_tags_FKIndex2` (`content_id`)
  8. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=617 ;


Czy ktoś jest w stanie mi pomóc?

Ten post edytował Martio 11.02.2008, 15:02:26
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
nospor
post 11.02.2008, 15:12:35
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
You can't specify target table 'content_tags' for update in FROM clause
Nie mozesz w podzapytaniu operowac na tej samej tabeli z ktorej usuwasz


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Martio
post 11.02.2008, 16:23:32
Post #3





Grupa: Zablokowani
Postów: 167
Pomógł: 2
Dołączył: 15.02.2004

Ostrzeżenie: (30%)
XX---


Cytat(nospor @ 11.02.2008, 17:12:35 ) *
Nie mozesz w podzapytaniu operowac na tej samej tabeli z ktorej usuwasz


Ale czy jest jakieś rozwiązanie tego problemu?
Go to the top of the page
+Quote Post
.radex
post 11.02.2008, 17:21:11
Post #4





Grupa: Zarejestrowani
Postów: 1 657
Pomógł: 125
Dołączył: 29.04.2006

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


dwa zapytania?


--------------------
blog | Tadam — minutnik do Pomodoro na Maka :)
Go to the top of the page
+Quote Post
Martio
post 11.02.2008, 17:54:44
Post #5





Grupa: Zablokowani
Postów: 167
Pomógł: 2
Dołączył: 15.02.2004

Ostrzeżenie: (30%)
XX---


Rozwiązałem problem poprzez tymczasowe utworzenie widoku

  1. CREATE VIEW `_content_tags_to_clean` AS SELECT `id` FROM `content_tags` GROUP BY `content_id`, `tag_id`;
  2. DELETE FROM `content_tags` WHERE `id` NOT IN (SELECT `id` FROM `_content_tags_to_clean`); DROP VIEW `_content_tags_to_clean`;
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 19:38