Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> błąd w składni UPDATE do wielu tabel..., część działa a część nie ?!
missile
post
Post #1





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 12.11.2005
Skąd: hen hen

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


Witam!
Napisałem zapytanie do bazy:

  1. <?php
  2.  
  3. $sql_query = "UPDATE posts p, users_count u
  4. SET p.post_topic_id = '" . $PostTopicId . "', u.statement_count = '" . $_SESSION['StatementCount'] . "'
  5. WHERE p.post_id ='" . $PostTopicId . "'
  6. AND u.user_id = '" . $_SESSION['UseId'] . "' ";
  7.  
  8. $sql_result = mysql_query($sql_query, $conn)
  9.  or die ('Błąd aktualizacji id tematu!<br /><br />' . mysql_error());
  10.  
  11. ?>


Skrypt działa; ale tylko częściowo, nie działa update pola p.post_topic_id; i wywala błąd:

Kod
You have an error in your SQL syntax near 'p, users_count u SET p.post_topic_id = '60', u.statement_count = '1275'' at line 1


Dodam, że pozostałe pola zostają zaktualizowane zghodnie z założeniem. Przeglądnąłem pół internetu (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) i nie znalazłem wyjaśnienia swojego błędu. Może tu ktoś zna odpowiedź?
Go to the top of the page
+Quote Post
Kuziu
post
Post #2





Grupa: Zarejestrowani
Postów: 743
Pomógł: 0
Dołączył: 11.11.2003
Skąd: Toruń

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


Chyba powinieneś to rozbić na 2 zapytania.

Z tego co widzę nie da się zrobić UPDATE na 2 tabelach jednocześnie:

  1. UPDATE news n, users u SET n.authorid='5'


To zapytanie nie daje żadnego efektu




  1. UPDATE news n SET n.authorid='5'


A to tak

Ten post edytował Kuziu 22.03.2006, 14:42:29
Go to the top of the page
+Quote Post
missile
post
Post #3





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 12.11.2005
Skąd: hen hen

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


Wiem, że można to zrobić na dwóch zapytaniach, ale ja chce na jednym. Z manuala wynika, że można zrobić update dwóch tabel jednocześnie. Jednak problem może wynikać z wersji MySQL moja to 3.23.58, nie jestem pewny też skladni ze względu na mój "angielski" (IMG:http://forum.php.pl/style_emoticons/default/sadsmiley02.gif)
Go to the top of the page
+Quote Post
Kuziu
post
Post #4





Grupa: Zarejestrowani
Postów: 743
Pomógł: 0
Dołączył: 11.11.2003
Skąd: Toruń

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


Musiałbyś je chyba połączyć za pomocą WHERE

np.

  1. ... WHERE posts.id = users_count.post_id


Czyli musiałyby mieć jakieś ze sobą powiązanie jeśli są to 2 niezależne od siebie tabele to raczej się nie da.
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: 14.09.2025 - 20:17