2009-12-10 69 views

回答

4

我假定你的意思,店“文件名”和列名“”那有一个UNIQUE约束(如PRIMARY KEY)?

如果是这样,那么是的,但是您必须告诉MySQL在表中使用区分大小写的排序规则或 ing或ALTER。这可以通过VARCHAR(...) COLLATE some_collation_cssee)或简单VARCHAR(...) BINARY完成。

+0

谢谢!将列设置为'varbinary'。 – Johan 2009-12-10 16:15:36

0

当您存储字符串时,MySQL将始终保留大小写。

当您搜索字符串时,它通常会执行不区分大小写的搜索。这取决于排序规则,但默认值不区分大小写。

要进行区分大小写的搜索,你可以更改排序规则:

SELECT x FROM table WHERE y LIKE '%Filename%' COLLATE latin1_general_cs 

更多信息,请参见case sensitivity

+0

是的,但可以保存“文件”和“文件”?而不是作为一个重复的条目? – Johan 2009-12-10 16:01:08

2

是否可以将“文件名”和“文件名”存储在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 
相关问题