MySQL težava
4 naročniki
4 naročniki
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..
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 :/
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,
-> timezone 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),