• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

#1064 - plik SQL Do umożliwienia logowania.

42 Warsaw Coding Academy
0 głosów
390 wizyt
pytanie zadane 2 października 2016 w SQL, bazy danych przez rejzer Użytkownik (680 p.)

Witam. Posiadam problem z plikiem który importuje do phpmyadmin. #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '`id` int(11) NOT NULL,
  `user` text COLLATE utf8_polish_ci NOT NULL,
  `pass` t' at line 1

a to kod który mam w pliku. 

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
`id` int(11) NOT NULL,
  `user` text COLLATE utf8_polish_ci NOT NULL,
  `pass` text COLLATE utf8_polish_ci NOT NULL,
  `email` text COLLATE utf8_polish_ci NOT NULL;
)ENGINE=MyISAM AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci;

INSERT INTO `uzytkownicy` (`id`, `imie`, `nazwisko`, `haslo`, `email`) VALUES
(1, 'Adam', 'Nowak', 'haslo123', 'adam@gmail.com'),
(2, 'Baśka', 'Nowak', 'haslo123', 'adam@gmail.com'),
(3, 'Kamil', 'Nowak', 'haslo123', 'adam@gmail.com'),
(4, 'Bartek', 'Nowak', 'haslo123', 'adam@gmail.com'),
(5, 'Dominik', 'Nowak', 'haslo123', 'adam@gmail.com'),
(6, 'Andrzej', 'Nowak', 'haslo123', 'adam@gmail.com'),
(7, 'Daniel', 'Nowak', 'haslo123', 'adam@gmail.com'),
(8, 'Alicja', 'Nowak', 'haslo123', 'adam@gmail.com'),
(9, 'Natalia', 'Nowak', 'haslo123', 'adam@gmail.com'),
(10, 'Darek', 'Nowak', 'haslo123', 'adam@gmail.com');
ALTER TABLE `uzytkownicy`
 ADD PRIMARY KEY (`id`), ADD UNIQUE KEY `id` (`id`);
ALTER TABLE `uzytkownicy`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=11;

Dziękuje z góry za pomoc :)

1 odpowiedź

+1 głos
odpowiedź 2 października 2016 przez Vento Pasjonat (17,120 p.)
wybrane 3 października 2016 przez rejzer
 
Najlepsza

Ogarnij podstawy, bo widać, że nie masz totalnego pojęcia na temat tworzenia tabel za pomocą sql'a..

SET time_zone = "+00:00"; 
`id` int(11) NOT NULL, 
  `user` text COLLATE utf8_polish_ci NOT NULL, 
  `pass` text COLLATE utf8_polish_ci NOT NULL, 
  `email` text COLLATE utf8_polish_ci NOT NULL; 
)ENGINE=MyISAM AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci;

Zacznijmy od początku zaraz po time_zone chcesz utworzyć tabelę jednak nie podajesz nazwy ani nawet funkcji która za to odpowiada czyli CREATE TABLE.. Więcej o tym w oficjalnej dokumentacji:

https://mariadb.com/kb/en/sql-99/create-table-statement/

Po drugie deklarując ostatnią zmienną stawiasz średnik przez co wyskakuje Ci kolejny błąd..

Zamiast:

`email` text COLLATE utf8_polish_ci NOT NULL; 

Powinno być:

`email` text COLLATE utf8_polish_ci NOT NULL

Tak, wystarczyło usunąć średnik na końcu.. 

Kolejną sprawą są inserty, które chcesz wykonać..

INSERT INTO `uzytkownicy` (`id`, `imie`, `nazwisko`, `haslo`, `email`) VALUES 
(1, 'Adam', 'Nowak', 'haslo123', 'adam@gmail.com'), 
(2, 'Baśka', 'Nowak', 'haslo123', 'adam@gmail.com'), 
(3, 'Kamil', 'Nowak', 'haslo123', 'adam@gmail.com'), 
(4, 'Bartek', 'Nowak', 'haslo123', 'adam@gmail.com'), 
(5, 'Dominik', 'Nowak', 'haslo123', 'adam@gmail.com'), 
(6, 'Andrzej', 'Nowak', 'haslo123', 'adam@gmail.com'), 
(7, 'Daniel', 'Nowak', 'haslo123', 'adam@gmail.com'), 
(8, 'Alicja', 'Nowak', 'haslo123', 'adam@gmail.com'), 
(9, 'Natalia', 'Nowak', 'haslo123', 'adam@gmail.com'), 
(10, 'Darek', 'Nowak', 'haslo123', 'adam@gmail.com'); 
ALTER TABLE `uzytkownicy` 
 ADD PRIMARY KEY (`id`), ADD UNIQUE KEY `id` (`id`); 
ALTER TABLE `uzytkownicy` 
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=11;

Jak chcesz dodać dane do tabeli gdzie podane kolumny  nie istnieją.. Tworzysz kolumnę: id, user, pass, email a insert będzie próbował dodać dane także do kolumn imie, nazwisko, haslo, które po prostu nie istnieją.. 

Poprawiony kod:

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; 
SET time_zone = "+00:00"; 
CREATE TABLE `uzytkownicy` (
   `id` int(11) NOT NULL, 
  `imie` text COLLATE utf8_polish_ci NOT NULL, 
  `nazwisko` text COLLATE utf8_polish_ci NOT NULL, 
  `haslo` text COLLATE utf8_polish_ci NOT NULL,
  `email` text COLLATE utf8_polish_ci NOT NULL                         
)ENGINE=MyISAM AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci;

INSERT INTO `uzytkownicy` (`id`, `imie`, `nazwisko`, `haslo`, `email`) VALUES 
(1, 'Adam', 'Nowak', 'haslo123', 'adam@gmail.com'), 
(2, 'Baśka', 'Nowak', 'haslo123', 'adam@gmail.com'), 
(3, 'Kamil', 'Nowak', 'haslo123', 'adam@gmail.com'), 
(4, 'Bartek', 'Nowak', 'haslo123', 'adam@gmail.com'), 
(5, 'Dominik', 'Nowak', 'haslo123', 'adam@gmail.com'), 
(6, 'Andrzej', 'Nowak', 'haslo123', 'adam@gmail.com'), 
(7, 'Daniel', 'Nowak', 'haslo123', 'adam@gmail.com'), 
(8, 'Alicja', 'Nowak', 'haslo123', 'adam@gmail.com'), 
(9, 'Natalia', 'Nowak', 'haslo123', 'adam@gmail.com'), 
(10, 'Darek', 'Nowak', 'haslo123', 'adam@gmail.com'); 
ALTER TABLE `uzytkownicy` 
 ADD PRIMARY KEY (`id`), ADD UNIQUE KEY `id` (`id`); 
ALTER TABLE `uzytkownicy` 
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=11;

 

 

 

komentarz 3 października 2016 przez rejzer Użytkownik (680 p.)
Dzieki dziala :)

Podobne pytania

+1 głos
1 odpowiedź 244 wizyt
pytanie zadane 24 października 2015 w SQL, bazy danych przez sliwka92 Nowicjusz (240 p.)
0 głosów
1 odpowiedź 738 wizyt
0 głosów
3 odpowiedzi 290 wizyt
pytanie zadane 27 października 2015 w SQL, bazy danych przez cookie Nowicjusz (120 p.)

93,377 zapytań

142,379 odpowiedzi

322,527 komentarzy

62,724 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...