Autor Zpráva
MyFlower
Profil
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
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
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
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 :-)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0