Можно ли хранить "Имя файла" и "имя файла" в базе данных mysql?
Я предполагаю, что вы имеете в виду, сохраните имя файла и имя файла в столбце с ограничением UNIQUE (например, PRIMARY KEY)?
Если да, то да, но вы должны сказать MySQL использовать регистр с учетом регистра при CREATE
ing или ALTER
в таблице. Это можно сделать с помощью VARCHAR(...) COLLATE some_collation_cs
(см.) или просто VARCHAR(...) BINARY
.
Можно ли хранить "Имя файла" и "имя файла" в базе данных 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
MySQL всегда сохраняет регистр при сохранении строк.
При поиске строки обычно выполняется поиск без учета регистра. Это зависит от сортировки, но по умолчанию регистр не учитывается.
Чтобы выполнить поиск с учетом регистра, вы можете изменить сортировку:
SELECT x FROM table WHERE y LIKE '%Filename%' COLLATE latin1_general_cs
Подробнее см. чувствительность к регистру.
varbinary
сделала это.