2009-12-10 58 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 
相關問題