Quali sono i comandi per abilitare e disabilitare la distinzione tra maiuscole e minuscole per impostazione predefinita per un intero database su un server MySQL? Sono a conoscenza dell'istruzione COLLATE, ma sembra che sia necessario inserirla in ogni istruzione SQL eseguita. C'è un'opzione per impostare questo a livello globale?Come configurare MySQL come maiuscolo/minuscolo
risposta
È possibile impostare le regole di confronto sia nella creazione del database sia nel livello di creazione della tabella come parte dell'istruzione CREATE TABLE.
Per impostare le regole di confronto per l'intero database, è possibile utilizzare:
CREATE DATABASE test_database CHARACTER SET utf8 COLLATE utf8_general_cs;
È inoltre possibile modificare le regole di confronto su un database esistente tramite ALTER DATABASE. (Per ulteriori informazioni vedere la voce manuale di MySQL Database Character Set and Collation.)
Se, tuttavia, una sola tabella deve essere trattata come maiuscole e minuscole, si può semplicemente utilizzare:
DROP TABLE IF EXISTS test_table;
CREATE TABLE test_table (
test_id bigint unsigned NOT NULL auto_increment,
...
PRIMARY KEY test_id (test_id),
...
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE utf8_general_cs;
(Caso insensitive essere "utf8_general_ci
" .)
Infine, la sezione manuale principale di MySQL Character Set Support probabilmente vale un rapido esame. (Elenca il character sets and collations supported by MySQL, indica come s et the character set/collation at the server level, ecc.)
In alternativa si usa comunemente anche utf8_bin'. – Unode
@Unode Yup, utf8_bin non equivale "á" a "a", ecc. –
Accoppiato a ciò che @middaparka ha detto e al mio commento precedente, si dovrebbe fare attenzione sull'ordinamento in quanto i caratteri accentati potrebbero non sempre ordinare come li si aspetta a. Tuttavia, la maggior parte di questi problemi è correlata a codifiche specifiche e impostazioni locali. (oltre lo scopo di questa domanda) – Unode
Sono venuto qui cercando di modificare le regole di confronto solo per una colonna specifica affinché sia sensibile al maiuscolo/minuscolo e non per l'intera tabella o il Banca dati. Spero che aiuti qualcuno a cercare proprio questo.
Questa query potrebbe essere provato:
ALTER TABLE table_name MODIFY column_name column_datatype COLLATE utf8_bin;
- 1. Come configurare Nibernate fluente con MySQL
- 2. Come configurare ASP.NET MVC 2 con MySQL?
- 3. Come configurare due database con MySQL Workbench?
- 4. Come configurare Spring/Hibernate con MySQL Read-Replica
- 5. Come configurare le eliminazioni in cascata nel workbench MySQL?
- 6. Come configurare HornetQ Demo
- 7. Come configurare gitignore?
- 8. Come configurare MAVEN?
- 9. Java: come configurare htmlunit
- 10. Come configurare Fabric.js?
- 11. googletest: come configurare?
- 12. come configurare ActionBarSherlock?
- 13. Come configurare correttamente NSFetchedResultsController
- 14. Come configurare correttamente syncAdapter?
- 15. Configurare Mysql 5.7 con Travis CI
- 16. Come configurare Ruby on Rails senza database?
- 17. Come configurare Nodo, Express e Angular2 correttamente
- 18. Come configurare manualmente un DataSource in Java?
- 19. Come configurare il Cache query in EclipseLink
- 20. Come configurare gedit come git core.editor?
- 21. Come configurare "tomcat7-maven-plugin" in pom.xml?
- 22. Come configurare ETag su Nginx
- 23. Configurare Yesod app come CGI
- 24. Come configurare Django su OpenShift?
- 25. Come configurare Eclipse per C#
- 26. Come configurare Plug.Static senza Phoenix
- 27. Come configurare Beanstalkd con PHP
- 28. Come configurare metaspace con SBT
- 29. come configurare cowboy con rebar3
- 30. Come configurare log4j.properties per SpringJUnit4ClassRunner?
qual è il contesto? per esempio. lingua su cui stai lavorando? – yoda