Witam.
Piszę aplikację w Delphi obsługującą bazę MySQL.
Mam 2 tabele:
- KLIENT o strukturze:
NUMER INT AUTO_INCREMENT
NIP CHAR(16) NOT NULL <- pole UNIQUE
REGON VARCHAR(9)
- KLIENT_DB o strukturze:
ID INT AUTO_INT
NUMER_KLIENTA INT <-numer klienta w tabeli klient
NAZWA
ITP.:
W delphi zaprogramowałem sobie kilka zapytań dotyczących wstawieni danych do dwóch tabel
zapytanie 1. START TRANSACTION
zapytanie 2. INSERT INTO KLIENT (NIP, REGON) VALUES('111-111-11-11','012345678');
gdy nie na potka na błąd,czyli czy nie powtarza się numer NIP
zapytanie 3. SELECT LAST_INSERT_ID();
zapytanie 4. INSERT INTO KLIENT_DB VALUES(last_insert_id, itp)
Próbowałem wszytsko zrobic w jednym zapytaniu ale wyskakuje mi błąd coś w stylu wersji klienta, a mam MySQL 4.1.1.15
zapytanie:
INSERT INTO KLIENT (NIP,REGON) VALUES('111-111-11-11','012345678');
SELECT @uid := LAST_INSERT_ID();
INSERT INTO KLIENT_DB (NUMER_KLIENTA,NAZWA, ITP.) VALUES (@uid, 'WELCOM', itp);
I po wykonaniu instrukcji w ostatniej częśc kodu INSERT INTO KLIENT_DB (NUMER_KLIENTA,NAZWA, ITP.) VALUES (@uid, 'WELCOM', itp);
wyskakuje mi błąd, jak się domyślam pewnie chodzi o zmienną, ale nie wiem jak inaczej moę ją wprowadzic do zapytania