可以在mysql数据库中存储"Filename“和"filename”吗?
发布于 2009-12-11 00:04:49
我想您的意思是,将‘filename’和‘filename’存储在具有唯一约束(如主键)的列中?
如果是,则是,但您必须告诉MySQL在对表执行CREATE或ALTER时使用区分大小写的排序规则。这可以使用VARCHAR(...) COLLATE some_collation_cs (see)或简单的VARCHAR(...) BINARY来完成。
发布于 2009-12-11 00:02:22
可以在mysql数据库中存储“文件名”和“文件名”吗?
如果要插入的列是UNIQUE,请确保其排序规则区分大小写:
CREATE TABLE t_ci (test VARCHAR(50) PRIMARY KEY COLLATE latin1_swedish_ci);
INSERT
INTO t_ci
VALUES
('Filename'),
('filename');
-- Fails
CREATE TABLE t_cs (test VARCHAR(50) PRIMARY KEY COLLATE utf8_bin);
INSERT
INTO t_cs
VALUES
('Filename'),
('filename');
- Succeeds发布于 2009-12-11 00:00:19
当您存储字符串时,MySQL将始终保留大小写。
当您搜索字符串时,它通常执行不区分大小写的搜索。这取决于排序规则,但默认值是不区分大小写的。
要执行区分大小写的搜索,可以更改排序规则:
SELECT x FROM table WHERE y LIKE '%Filename%' COLLATE latin1_general_cs有关详细信息,请参阅case sensitivity。
https://stackoverflow.com/questions/1881971
复制相似问题