Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL]Połączenie dwóch zapytań w mysql
kasanowak
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 4.05.2008

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


Głupi problem, ale nie radzę sobie z poprawnym skonstruowaniem jednego zapytania w bazie danych mysql. Mam dwa zapytania:
  1. UPDATE `tabela` SET `mtime` = ( SELECT REPLACE( `mtime` , '2011', '2008' )

i
  1. SELECT * FROM `tabela` WHERE aid < 56


Z tych dwóch zapytań chcę stworzyć jedno, tak aby zamieniało daną wartość tylko dla danych których aid jest mniejszy niż 56. Kombinowałem tak:
  1. UPDATE `tabela` SET `mtime` = ( SELECT REPLACE( `mtime` , '2011', '2008' ) FROM `tabela` WHERE aid < 56 )

i tak:
  1. UPDATE `tabela` SET `mtime` = ( SELECT REPLACE( `mtime` , '2011', '2008' ) WHERE aid < 56 )


Ale wywala błędy... Da się w ogóle te dwa zapytania skumulować w jedno ?(IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kasanowak
post
Post #2





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 4.05.2008

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


Informacje chcę uzyskać tylko z jednej tabeli, po poprawkach wciąż nie działa, jest taki błąd:
#1093 - You can't specify target table 'tabela' for update in FROM clause
To jest to zapytanie:
  1. UPDATE tabela SET mtime = ( SELECT REPLACE( mtime , '2011', '2008' ) FROM tabela WHERE aid < 56 )


Ten post edytował kasanowak 16.12.2011, 21:53:37
Go to the top of the page
+Quote Post

Posty w temacie


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: 10.10.2025 - 10:11