繁体   English   中英

如何将 MySQL 配置为区分大小写

[英]How to Configure MySQL to be Case Sensitive

默认情况下,为 MySQL 服务器上的整个数据库启用和禁用区分大小写的命令是什么? 我知道COLLATE语句,但似乎有必要将它放在每个运行的 SQL 语句中。 有没有可以全局设置的选项?

作为CREATE TABLE语句的一部分,您可以在数据库创建和表创建级别设置排序规则。

要为整个数据库设置排序规则,您可以使用:

CREATE DATABASE test_database CHARACTER SET utf8 COLLATE utf8_general_cs;

您还可以通过 ALTER DATABASE 更改现有数据库的排序规则。 (有关更多信息,请参阅 MySQL数据库字符集和排序规则手册条目。)

但是,如果只需要将单个表视为区分大小写,则可以简单地使用:

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;

(不区分大小写的“ utf8_general_ci ”。)

最后,主要的 MySQL字符集支持手册部分可能值得快速阅读。 (它列出了MySQL 支持字符集和排序规则,告诉您如何在服务器级别设置字符集/排序规则等)

我来这里只是想修改特定列的排序规则,使其区分大小写,而不是整个表或数据库。 希望它可以帮助寻找这个的人。

可以尝试此查询:

ALTER TABLE table_name MODIFY column_name column_datatype COLLATE utf8_bin;

使用区分大小写的排序规则创建 MySQL 数据库的最常见方法是:

CREATE DATABASE your_db_name CHARACTER SET utf8 COLLATE utf8-bin;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM