Witamy na Delphi - forum dla programistów, webmasterów i grafików
+ Odpowiedz na ten temat
Pokaż wyniki od 1 do 7 z 7
  1. #1

    Procedura - błąd

    Mam taką oto procedurę:
    Kod:
    CREATE PROCEDURE addusr(IN log VARCHAR(32),IN pas VARCHAR(32),IN nam VARCHAR(32),IN adr VARCHAR(256))
    BEGIN
    DECLARE curid INT;
    SET curid=(SELECT TOP 1 id_user FROM uzytkownik ORDER BY id_user DESC) +1;
    IF curid IS NULL THEN SET curid=0;
    END IF;
    INSERT INTO uzytkownik (id_user,login,pass,name,mail,last_login)
    VALUES (curid,log,pas,nam,adr,null);
    END
    Mysql nie chce jej jednak przyjąć, to jest wynik wykonania:
    Kod:
    #1064 - 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 '' at line 3
    Czym to może być spowodowane?


  2. #2

    Odp: Procedura - błąd

    Jaką masz wersję mysql?

    To chyba nie jest za bardzo poprawne:
    Kod:
    SET curid=(SELECT TOP 1 id_user FROM uzytkownik ORDER BY id_user DESC) +1;
    IF curid IS NULL THEN SET curid=0;
    END IF;

  3. #3

    Odp: Procedura - błąd

    wersja: 5.0.51a-9+lenny2-log

    A dlaczego jest niepoprawnie?

  4. #4

    Odp: Procedura - błąd

    A wiesz co to jest auto_increment?

  5. #5

    Odp: Procedura - błąd

    Owszem, wiem co to jest, ale nie wydaje mi się, aby robiło to wielką różnicę. Działa tak samo. Z resztą w pewnym sensie potrzebuję, aby id zaczynały się od 0, a nie od 1.

  6. #6

    Odp: Procedura - błąd

    Robi czy nie dodajesz sobie tylko pracy. ID nie powinno mieć dodatkowych uwarunkowań typu 'ma się zaczynać od 0'. Ma identyfikować każdy wiersz i tak właśnie działa.

    A zmieniłeś delimiter na czas deklaracji procedury?

  7. #7

    Odp: Procedura - błąd

    Co do użycia DELIMITER to znalazłem to w końcu na google i zastosowałem, ale i tak uzyskałem błędy. A wszystko było przez użycie TOP (czy tam FIRST), których MySQL nie uznaje.


 

Bookmarks

Uprawnienia

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
Do góry

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19