Autor | Zpráva | ||
---|---|---|---|
MyFlower Profil |
#1 · Zasláno: 29. 8. 2010, 16:05:25 · Upravil/a: MyFlower
Netuším, co dělám špatně, ale potřebuji do DB uložit několik desítek řádků najednou a potřebuji, aby sloupec `slovo` z tabulky `keywords` byl unikátní. Mám u něho v DB nastaven unikární klíč, ale když vkládám pomocí PHP data, tak se mi stejně některá vloží duplicitně.
Dokonce i když je poté vyberu pomocí select distinct, tak duplicitní údaje zůstanou. Sloupec je nastaven na varchar(100), tabulky jsou v utf-8, data z PHP jsou v utf-8 také. Tušíte někdo, co dělám špatně? Tabulka: CREATE TABLE `keywords` ( `id` int(5) NOT NULL AUTO_INCREMENT, `slovo` varchar(100) COLLATE utf8_czech_ci DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `slovo` (`slovo`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci AUTO_INCREMENT=1; Select: select distinct `slovo` from `keywords` |
||
Joker Profil |
#2 · Zasláno: 29. 8. 2010, 16:28:06
MyFlower:
Není to způsobené tím, že ta slova jen vypadají stejně, ale ve skutečnosti úplně stejná nejsou? Například: „duplicitní“ „duplicitní “ (s mezerou) „duplicitní“ mohou v nějakém výpisu na stránce vypadat stejně. |
||
MyFlower Profil |
#3 · Zasláno: 29. 8. 2010, 20:43:53
Joker:
To mě také napadlo a nejspíš bude problém v tom - bohužel ale alespoň podle PHPMyAdmina vypadají záznamy naprosto totožně... |
||
MyFlower Profil |
#4 · Zasláno: 29. 8. 2010, 20:48:31
Vyřešeno - opravdu záznamy vypadaly stejně pouze na první pohled, duplicitní záznamy měly navíc na konci \n, které je dost špatně vidět :-)
|
||
Časová prodleva: 14 let
|
0