MySQL težava

Nekaj se poskušam učiti MySQL in sem naletel na težavo. Spodnja koda naj bi delala vendar meni nikakor ne (koda je namenjena učenju).

Prijavim se v konzolo in vpišem...

mysql> CHARSET utf8;
Charset changed
mysql> USE test;
Database changed
mysql> CREATE TABLE testutf (id INT UNSIGNED NOT NULL AUTOINCREMENT, word VARCHAR(20), PRIMARY KEY (id)) CHARSET utf8;
Query OK, 0 rows affected (0.14 sec)
mysql> INSERT INTO test_utf (word) VALUES ('Žaba'), ('Čebela'), ('ČĆŠž');
Query OK, 3 rows affected, 3 warnings (0.01 sec)
Records: 3 Duplicates: 0 Warnings: 0

Vedar se mi podatki Žaba, Čebela in ČĆŠž ne prenesejo v tabelo in mi ni jasno zakaj ne. Podatki se vnesejo le, če med njimi ni ČĆŠŽ...

Slika v phpmyadmin.

Mogoče kdo ve kaj delam narobe?

Testiram pa na
WampServer Version 2.0
MySQL 5.1.33
PHP 5.2.9-2

7 odgovorov

**SET NAMES** 'utf8';
-- USE 'test';
CREATE TABLE `test_utf` (`id` INT UNSIGNED NOT NULL AUTO_INCREMENT, `word` VARCHAR(20), PRIMARY KEY (`id`)) CHARSET 'utf8';
INSERT INTO `test_utf` (`word`) VALUES ('Žaba'), ('Čebela'), ('ČĆŠž');

jaz nisem v 'test' ... zato comment ... je pa rezultat:

edit: aja ...Različica strežnika: 5.0.32-...
edit2: added bold..

2

Čudno, ampak meni tudi po tvojem načinu ne deluje :/

Ravnokar sem ugotovil, da (tvoja) koda deluje, če jo izvedem preko phpmyadmin (SQL query on database test:). Če jo pa izvedem preko konzole, pa ne delujuje. Tko da zgleda, da bom moral namestiti drug WAMP :/

ti preko konzole malo težko vnašaš šumnike?

FrEaKmAn:
ti preko konzole malo težko vnašaš šumnike?

Zgleda, ja :/

Imam novo težavo. Kje je napaka v spodnji kodi. Nikakor jo ne najdem. :/

mysql> CREATE TABLE users (
-> userid MEDIUMINT UNSIGNED NOT NULL AUTOINCREMENT,
-> langid TINYINT UNSIGNED NOT NULL,
-> time
zone VARCHAR(30) NOT NULL,
-> username VARCHAR(30) NOT NULL,
-> pass CHAR(40) NOT NULL,
-> email VARCHAR(60) NOT NULL,
-> PRIMARYKEY (userid),
-> UNIQUE (username),
-> UNIQUE (email),
-> INDEX login (username, pass)
-> );
ERROR 1064 (42000): 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 '(user_id),
UNIQUE (username),
UNIQUE (email),
INDEX login (username, pass)
)' at line 8
mysql>

CREATE TABLE users (
user_id MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT,
lang_id TINYINT UNSIGNED NOT NULL,
time_zone VARCHAR(30) NOT NULL,
username VARCHAR(30) NOT NULL,
pass CHAR(40) NOT NULL,
email VARCHAR(60) NOT NULL,
PRIMARY KEY (user_id),
UNIQUE (username),
UNIQUE (email),
INDEX login (username, pass)
);

-> PRIMARY_KEY (user_id),

sem našel napako... PRIMARYKEY (userid), --> PRIMARY KEY (user_id), :D

Edit: Hvala HeXer, malo si me prehitel ;)