2008-11-05 9 views

Odpowiedz

25

Można także zrobić wyszukiwania wielkość liter bez zmiany właściwości kolumn.

SELECT * FROM mytable WHERE myfield='Value' 

To zapytanie meczy:

  • wartość
  • wartość
  • WARTOŚĆ
  • wartość
  • i tak dalej

... Choć tylko

SELECT * FROM mytable WHERE BINARY myfield='Value' 

zestawienia:

  • Wartość
2

W bazie danych mysql ustaw typ danych tekstowych na utf_collate_bin. Na przykład:

ALTER TABLE `sets` CHANGE `set_name` `set_name` VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL 

Gdzie "zestawy" to tabela, "nazwa_zestawu" to kolumna typu VARCHAR (64). Możesz to również zrobić w PhpMyAdmin ..

Wszystkie zestawy binarne wykonają zadanie; ale utf8 jest preferowany.

Jeśli zastanawiasz się co _ci na koniec bieżącego sortowania jest, oznacza to, że „przypadek niewrażliwe”: p

4

Można zrobić wszystkie ciągi wielkość liter podczas tworzenia tabeli, dodając "Segreguj utf8_bin" do: ciąg opcji podczas tworzenia tabeli. Na przykład:

create_table("page_infos", :force => true, :options => "ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin") do |t| 
     t.string "title",  :limit => 120 
end 
+0

Jak wyglądają migracje, aby kolumny, które już istnieją, są rozróżniane? – Ben

Powiązane problemy