grzana12
29.10.2007, 15:45:41
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
29.10.2007, 15:55:44
Napisz tutaj jak wykonujesz zapytanie SQL, bo tak bez kodu to nic Ci powiedzieć nie mogę.
grzana12
29.10.2007, 16:05:07
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
29.10.2007, 16:23:50
Jeśli masz skonstruowaną tabele tak że 'id' jest jako pierwsze... to zapytanie powinno wygladac tak:
INSERT INTO manufactures VALUES (NULL,'','LG','','','') ;
grzana12
29.10.2007, 16:27:07
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
29.10.2007, 17:01:51
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
29.10.2007, 17:04:45
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
29.10.2007, 17:21:30
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
30.10.2007, 12:19:24
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.