0

是否可以将“文件名”和“文件名”存储在 mysql 数据库中?

4

3 回答 3

4

我假设您的意思是,将“文件名”和“文件名”存储在具有唯一约束(例如主键)的列中?

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

于 2009-12-10T16:04:48.797 回答
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
于 2009-12-10T16:02:22.140 回答
0

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

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

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

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

有关详细信息,请参阅区分大小写

于 2009-12-10T16:00:19.257 回答