![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 13.07.2009 Skąd: Ziemia Ostrzeżenie: (0%) ![]() ![]() |
Witam, czy da się użyć SELECT LAST_INSERT_ID() jako zmienną w procedurze? Z procedurami zacząłem dopiero dzisiaj rano, więc nie wiele wiem. Szukałem, ale nie znalazłem. Oto mój kod:
A oto błąd, który mi wywala: Cytat You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DECLARE _topic_id INT; SET _topic_id = SELECT LAST_INSERT_ID(); INSERT I' at line 5 Da się to jakoś naprawić? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Wyciąg z manuala:
"DECLARE is allowed only inside a BEGIN ... END compound statement and must be at its start, before any other statements." Zwróć uwagę na drugą połowę zdania, zaczynającą się od słowa "must" ![]() EDIT: jeśli nie rozumiesz, to przesuń wyżej DECLARE i zobacz czy teraz zadziała ![]() Ten post edytował thek 3.03.2010, 09:42:33 -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 13.07.2009 Skąd: Ziemia Ostrzeżenie: (0%) ![]() ![]() |
No dobra, teraz mi wywala:
Cytat ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT LAST_INSERT_ID(); INSERT INTO posts (topic_id, author_id, date, revis' at line 6 EDIT: Declare dałem zaraz po BEGIN] EDIT2: Problem rozwiązany, wystarczyło dać SELECT LAST_INSERT_ID() w nawiasie, czyli coś takiego:
No, i oczywiście dać tą deklaracje zaraz pod BEGIN Ten post edytował kenobi13 3.03.2010, 16:37:27 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 06:48 |