Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL] bigint problem z autoincrementacją
sir_kyllan
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 27.10.2006

Ostrzeżenie: (0%)
-----


Witam, mam problem z wpisaniem do tabeli zmiennej typu int z autonumerowaniem poniższy kod mówi wszytsko:

Tabela
  1. CREATE TABLE `web_countries` (
  2. `countryID` bigint(20) NOT NULL AUTO_INCREMENT,
  3. `code` char(8) DEFAULT NULL,
  4. `name` char(255) DEFAULT NULL,
  5. `hits` int(16) DEFAULT NULL,
  6. PRIMARY KEY (`countryID`),
  7. UNIQUE KEY `code` (`code`)
  8. ) ENGINE=MyISAM DEFAULT CHARSET=latin1;


Insert:
  1. INSERT INTO web_countries VALUES ('', 'ad', 'Andorra', 0), ('', 'ae', 'United arab emirates', 0), ('', 'af', 'Afghanistan', 0);


Serwer SQL wywala błąd:
  1. ERROR 1366 (HY000): Incorrect integer value: '' FOR COLUMN 'countryID' at row 1


Dodam ze serwer MySQL jest w wersji 5.1.

Błąd mówi wszystko, zakres zmiennej jest dobry, ale błąd wywala. Dlaczego?
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Błąd mówi wszystko
Widac nie tobie... ID to liczba a ty mu podajesz ''. Od kiedy pusty tekst to liczba? Jak nie chcesz przekazac liczby to ma byc NULL


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
minolone
post
Post #3





Grupa: Zarejestrowani
Postów: 141
Pomógł: 24
Dołączył: 21.06.2008

Ostrzeżenie: (0%)
-----


Kolego wlasnie sprawdzilem twoja baze u siebie bo nie zobaczylem zadnego problemu, dodalem sobie ja w phpmyadmin i wszystko ok, dodalem rowniez zawartosc i tez jest wszystko ok, nie wiem dlaczego ty widzisz blad, moze dodaj sobie zawartosc w phpmyadmin i porownaj z twoim zapytaniem, 

EDIT:

nospor jak mozesz to sprawdz sobie to u siebie i wsyzstko smiga jak powinno, wersja mysql 5.1.41

Ten post edytował minolone 24.02.2010, 13:17:02
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
nospor jak mozesz to sprawdz sobie to u siebie i wsyzstko smiga jak powinno, wersja mysql 5.1.41
Komunikat bledu jest przeciez oczywisty... to ze tobie dziala to moze byc spowodowane inna konfiguracją, ktora to pozwala na takie rzeczy, jak wstawianie pustego tekstu jako liczbe smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
mortus
post
Post #5





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

Ostrzeżenie: (0%)
-----


Spróbuj:
  1. INSERT INTO web_countries VALUES (0, 'ad', 'Andorra', 0), (0, 'ae', 'United arab emirates', 0), (0, 'af', 'Afghanistan', 0);
Tylko tutaj chyba bigint nie jest potrzebny i wystarczy zwykły int, ale to tylko sugestia.
Go to the top of the page
+Quote Post
sir_kyllan
post
Post #6





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 27.10.2006

Ostrzeżenie: (0%)
-----


wiem, że id to liczba ale dałem autoincrement więc myślałem, że sam sobie wstawi pomiędzy '' odpowiednią cyfrę. Czyli pominąć to wogóle o tak:

  1. INSERT INTO web_countries VALUES ('ad', 'Andorra', 0), ( 'ae', 'United arab emirates', 0), ('af', 'Afghanistan', 0);


?

mortus nie mogę zrobić jak ty piszesz bo będe miał duplikaty klucza smile.gif

Ten post edytował sir_kyllan 24.02.2010, 14:45:43
Go to the top of the page
+Quote Post
nospor
post
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




nie, wyraźnie napisalem NULL

Jak chcesz pominac to musisz sprecyzowac jakich kolumn bedziesz uzywal a ty tego nie robisz.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
sir_kyllan
post
Post #8





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 27.10.2006

Ostrzeżenie: (0%)
-----


acha, miałem podbita gamme więc nie załapałem ze to null, a nie zero biggrin.gif dzięki
Go to the top of the page
+Quote Post
mortus
post
Post #9





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

Ostrzeżenie: (0%)
-----


To się przypatrz (program Navicat Lite - screeny):


Go to the top of the page
+Quote Post
sir_kyllan
post
Post #10





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 27.10.2006

Ostrzeżenie: (0%)
-----


dobra działa nie doczytałem w konsoli: Records: 3 Duplicates: 0 Warnnigs: 0 smile.gif Miałeś rację mortus, przepraszam smile.gif
Go to the top of the page
+Quote Post
mortus
post
Post #11





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

Ostrzeżenie: (0%)
-----


Spoko, luz, ja zawsze używałem 0. Pozdrawiam smile.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 06:57