Skocz do zawartości

Unikalność w bazie.


Qbexus

Rekomendowane odpowiedzi

Mam w tabeli dwa pola id autoincrement i name unique ale niestety w polu name lądują duplikatu chć ponoć nie powinny a sql to nie moja działka ale potrzebuje unikalnych wpisów w tym polu.

Kod dodający to:

mysql_query("INSERT INTO `keywords`(id,name) VALUES('','$key')");

Co można z tym zrobić ?

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli pole jest typu UNIQUE nie ma fizycznej możliwości dodania zdublowanej wartości!

Utwórz tabelę za pomocą poniższego kodu SQL:

CREATE TABLE `Test` (

`id` int(6) NOT NULL auto_increment,

`name` varchar(10) NOT NULL,

PRIMARY KEY (`id`),

UNIQUE KEY `name` (`name`)

) ENGINE=MyISAM DEFAULT CHARSET=latin2;

i spróbuj dodać wpis w kolumnie name o takiej samej wartości....

Pojawi się błąd: #1062 - Powtórzone wystapienie 'admin' dla klucza 2

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

po zapytaniu

SHOW CREATE TABLE `keywords`

Dostaje

CREATE TABLE `keywords` (\n  `id` int(11) NOT NULL auto_increment,\n  `name` varchar(255) collate latin1_general_ci NOT NULL,\n  PRIMARY KEY  (`id`),\n  UNIQUE KEY `name` (`name`)\n) ENGINE=MyISAM AUTO_INCREMENT=4715 DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci

Keye przechodzą przez trim więc białych znaków nie ma a jednak trafiają po 2 takie same do bazy.

Tabela była stworzona zapytaniem

CREATE TABLE IF NOT EXISTS `keywords` (`id` int(11) NOT NULL auto_increment,`name` varchar(255) NOT NULL, PRIMARY KEY  (`id`), UNIQUE KEY `name` (`name`))

Odnośnik do komentarza
Udostępnij na innych stronach

Keye przechodzą przez trim więc białych znaków nie ma a jednak trafiają po 2 takie same do bazy.
Napisałem ci, że kolumna typu UNIQUE nigdy nie będzie zawierała dwóch takich samych danych. Więc po co piszesz te bzdury! :)

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności