Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: inkrementacja nie działa?
Forum PHP.pl > Forum > Bazy danych > MySQL
grzana12
Czy jest możliwe, aby pole które ma w atrybucie "auto incremet" nie powodowało inkremetacji?

Kiedy dodaję coś do bazy, a w polu gdzie powinna nastąpić inkrementacja nic nie wpisuję występuję błąd. Natomiast kiedy wpiszę jakąś liczbę to wszystko jest ok.
przemosk87
Napisz tutaj jak wykonujesz zapytanie SQL, bo tak bez kodu to nic Ci powiedzieć nie mogę.
grzana12
INSERT INTO manufactures VALUES ('','LG','','','')
Pierwsza wartość jest inkrementowana a kolejne są mniej istotne, jeżeli w pierwszą wartość wpiszę np. 2, wykonuje się bez kłopotów
przemosk87
Jeśli masz skonstruowaną tabele tak że 'id' jest jako pierwsze... to zapytanie powinno wygladac tak:
  1. INSERT INTO manufactures VALUES (NULL,'','LG','','','') ;
grzana12
OK, ale kiedyś korzystałem z takiego zapisu '' a nie NULL i normalnie chodziło. Tyle że było to na innym serwerze. Możeliwe żeby było to gdzieś w ustawieniach serwera MYSQL
przemosk87
Jeśli chcesz żeby się auto incrementowało, to nie możesz polu 'id' nadawać żadnej wartości, samo przez siebie się rozumie. SQL sam sobie tam wstawi wartość.
grzana12
Zgadzam się z tobą ale dostałem taki skrypt od firmy. Klient zlecił jego instalację. Patrzę w pliki i wszędzie gdzie ma być inkrementacja jest '' a nie NULL. Programiści zapewniają że to działa. I stąd moje wątpliwości czy gdzieś się tego nie zmienia.
przemosk87
Jak masz dostęp do bazy to sprawdź sobie tam, jesli nie masz, to spróbuj z tym null. Powinno działać ta druga wersja.
grzana12
Wystarczyło wyłączyć jeden parametr w bazie danych, a mianowicie: STRICT_TRANS_TABLES
Po wyłączeniu tego wszystko śmiga tak jak powinno.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.