Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Błąd przy INSERT INTO.
Forum PHP.pl > Forum > Bazy danych > MySQL
martela
Witam, mam mały problem. Jestem kompletnie zielony w tym wszystkim i potrzebuje małej pomocy.

Oto kod do tabeli, którą chcę stworzyć:

  1. CREATE TABLE Pracownicy(
  2. id INT NOT NULL AUTO_INCREMENT ,
  3. imie VARCHAR( 50 ) ,
  4. nazwisko VARCHAR( 50 ) ,
  5. tytul_naukowy VARCHAR( 15 ) ,
  6. adres VARCHAR( 25 ) ,
  7. kod_pocztowy VARCHAR( 6 ) ,
  8. miejscowosc VARCHAR( 40 ) ,
  9. numer_telefonu INT,
  10. PRIMARY KEY ( id )
  11. )
  12. INSERT INTO Pracownicy ('id', 'imie', 'nazwisko', 'tytul_naukowy', 'adres', 'kod_pocztowy', 'miejscowosc', 'numer_telefonu')
  13. VALUES
  14. ( 'NULL' , 'Wiktor' , 'Pawlak' , 'Profesor' , 'Bajkowa 12' , '64-326' , 'Katowice' , '668435274' ),
  15. ( 'NULL' , 'Patryk' , 'Wiśniewski' , 'Profesor' , 'Powstańców 20' , '61-635' , 'Poznan' , '513337459' ),
  16. ( 'NULL' , 'Arek' , 'Wrześniak' , 'Profesor' , 'Malwowa 35' , '68-674' , 'Wroclaw' , '747356239' ),
  17. ( 'NULL' , 'Mateusz' , 'Korek' , 'Profesor' , 'Poznańska 40' , '60-535' , 'Sopot' , '625548212' ),
  18. ( 'NULL' , 'Ernest' , 'Grabowski' , 'Profesor' , 'Kaliowa 7' , '63-432' ,'Gdynia''772859540' ),
  19. ( 'NULL' , 'Tomasz' , 'Dolniak' , 'Profesor' , 'Hiacyntowa 15' , '66-656' , 'Opole' , '555091154' ),
  20. ( 'NULL' , 'Robert' , 'Malinowski' , 'Profesor' , 'Gloksowa 27' , '63-652' , 'Gdansk' , '540554216' ),
  21. ( 'NULL' , 'Michał' , 'Nawrocki' , 'Profesor' , 'Taczaka 14' , '64-326' , 'Warszawa' , '5768472543' ),
  22. ( 'NULL' , 'Jarosław' , 'Głowacki' , 'Profesor' , 'Libelta 39' , '61-523' , 'Kielce' , '675578954' );


a błąd to: #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 'INSERT INTO Pracownicy ('id', 'imie', 'nazwisko', 'tytul_naukowy', 'adres', 'kod' at line 12

Pytanie: Co musiałbym zmienić aby błąd zniknął ? I jakieś ewentualne wasze uwagi dotyczące kodu. ^^
mar1aczi
Zapoznaj się ze składnią INSERT z dokumentacji.
A tu masz coś "na szybko" po polsku: http://it.dth.pl/insert-into-kurs-jezyka-sql-mysql-cz-3/
Tajgeer
Linia 11 - brak średnika
Linia 12 - zamień ' na ` (albo w ogóle się ich pozbądź)
Linia 18 - brak przecinka przed ostatnim polem (numerem telefonu)
mmmmmmm
NULL nie pisze się w apostrofach.
A numery telefonu będziesz sumował, że zrobiłeś je liczbami?
martela
Zrobiłem według tego linku i wyszło mi coś takiego, błąd wyskakuje nadal.


  1. INSERT INTO pracownicy (id, imie, nazwisko, tytul_naukowy, adres, kod_pocztowy, miejscowosc, numer_telefonu) VALUES '1','Wiktor','Pawlak','Profesor','Bajkowa_12','64-326','Katowice','668435274');
  2.  
  3. INSERT INTO pracownicy (id, imie, nazwisko, tytul_naukowy, adres, kod_pocztowy, miejscowosc, numer_telefonu) VALUES (NULL,'Patryk','Wiśniewski','Profesor','Powstańców_20','61-635','Poznan','513337459');
  4.  
  5. INSERT INTO pracownicy (id, imie, nazwisko, tytul_naukowy, adres, kod_pocztowy, miejscowosc, numer_telefonu) VALUES
  6. (NULL,'Arek','Wrześniak','Profesor','Malwowa_35','68-674','Wroclaw','747356239');
  7.  
  8. INSERT INTO pracownicy (id, imie, nazwisko, tytul_naukowy, adres, kod_pocztowy, miejscowosc, numer_telefonu) VALUES (NULL,'Mateusz','Korek','Profesor','Poznańska_40','60-535','Sopot','625548212');
  9.  
  10. INSERT INTO pracownicy (id, imie, nazwisko, tytul_naukowy, adres, kod_pocztowy, miejscowosc, numer_telefonu) VALUES (NULL,'Ernest','Grabowski','Profesor','Kaliowa_7','63-432','Gdynia','772859540');
  11.  
  12. INSERT INTO pracownicy (id, imie, nazwisko, tytul_naukowy, adres, kod_pocztowy, miejscowosc, numer_telefonu) VALUES (NULL,'Tomasz','Dolniak','Profesor','Hiacyntowa_15','66-656','Opole','555091154' );
  13.  
  14. INSERT INTO pracownicy (id, imie, nazwisko, tytul_naukowy, adres, kod_pocztowy, miejscowosc, numer_telefonu) VALUES (NULL,'Robert','Malinowski','Profesor','Gloksowa_27','63-652','Gdansk','540554216');
  15.  
  16. INSERT INTO pracownicy (id, imie, nazwisko, tytul_naukowy, adres, kod_pocztowy, miejscowosc, numer_telefonu) VALUES (NULL,'Michał','Nawrocki','Profesor','Taczaka_14','64-326','Warszawa','5768472543');
  17.  
  18. INSERT INTO pracownicy (id, imie, nazwisko, tytul_naukowy, adres, kod_pocztowy, miejscowosc, numer_telefonu) VALUES (NULL,'Jarosław','Głowacki','Profesor','Libelta_39','61-523','Kielce','675578954');
b4rt3kk
Czy ID jest polem unikatowym i kluczem podstawowym? Jeśli tak, to pozostaw puste pole. Np.

  1. ('','Arek','Wrześniak','Profesor','Malwowa_35','68-674','Wroclaw','747356239')
martela
Mimo pozostawienia pola id pustego błąd 1064 nadal wyskakuje. :/
Tajgeer
Pole 'id' ma podstawowy klucz i AUTO_INCREMENT, więc nie musisz się nim w ogóle przejmować.

  1. INSERT INTO pracownicy (imie, nazwisko, tytul_naukowy, adres, kod_pocztowy, miejscowosc, numer_telefonu) VALUES ('Mateusz', 'Korek', 'Profesor', 'Poznańska_40', '60-535', 'Sopot', '625548212');
martela
No dobrze, uczepiliśmy się tego id i NULL, niestety (usunąłem null z insertu i value):

#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 'INSERT INTO pracownicy (imie, nazwisko, tytul_naukowy, adres, kod_pocztowy, miej' at line 12

nie zniknął. ;/
mmmmmmm
1. linia

INSERT INTO pracownicy (imie, nazwisko, tytul_naukowy, adres, kod_pocztowy, miejscowosc, numer_telefonu) VALUES ('Wiktor','Pawlak','Profesor','Bajkowa_12','64-326','Katowice','668435274');
martela
mmmmmmm,

mam tak wszystko i dalej błąd.
Tajgeer
Zwracasz w ogóle uwagę na wiadomości od innych osób?

Jeśli poprawisz w pierwszym podanym przez Ciebie kodzie błędy, które wymieniłem w poście #3 - wszystko będzie w porządku...
martela
Tajgeer, WIELKIE DZIĘKI!

szczerze mówiąc zignorowałem Twoją jedną radę na początku a mianowicie "Linia 11 - brak średnika", ponieważ mój opiekun praktyk patrząc na mój kod kazał to wykasować jako jedną z pierwszych rzeczy, nie wiem czy chciał abym się pomęczył, czy nie był świadomy tego, że średnik jest dość istotną rzeczą w tym kodzie... Nie mniej jednak JESZCZE RAZ DZIĘKUJE CI BARDZO! wink.gif
Tajgeer
Wszystko zależy od tego, w jakiej firmie znajdujesz się na praktykach.

Jeśli renomowana firma z ugruntowaną pozycją na rynku lokalnym - raczej w ramach testów.
Jeśli była to podrzędna firma, cóż... raczej z braku niewiedzy.

Oczywiście mogą być odstępstwa od tej reguły, ale w większości przypadków tak jest.
martela
Szczerze, to mam (płatne) praktyki w Głównej Bibliotece Uniwersytetu Przyrodniczego w Poznaniu. ;d
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.