[MYSQL] Błąd w zapytaniu

0

Witam.
Piszę aplikację w Delphi obsługującą bazę MySQL.
Mam 2 tabele:

  1. KLIENT o strukturze:

NUMER INT AUTO_INCREMENT
NIP CHAR(16) NOT NULL <- pole UNIQUE
REGON VARCHAR(9)

  1. 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

0

INSERT INTO KLIENT_DB (NAZWA, ITP.) VALUES ( 'WELCOM', itp);

nie musisz podawac numeru, skoro jet autoincrement.

//dop:
aa, to moze uzyj podzapytania?
INSERT INTO KLIENT_DB (NUMER_KLIENTA,NAZWA, ITP.) VALUES ((SELECT LAST_INSERT_ID() FROM KLIENT), 'WELCOM', itp);

0

Chodzi mi oto że numer jest utworzony i zwiększany w tabeli klient. I ten numer musze przenieś do tabeli KLIENT_DB

1 użytkowników online, w tym zalogowanych: 0, gości: 1