SELECT *
FROM tabletek
WHERE operacios_rendszer = 'iOS';
< /code>
Я не получаю результатов. Однако: < /p>
SELECT *
FROM tabletek
WHERE operacios_rendszer LIKE '%iOS%';
< /code>
Правильно возвращает планшет Apple. < /p>
Вот переведенная версия < /p>
У меня есть база данных MySQL для хранения характеристик планшетов. Вот схема и образцы данных, переведенные на английский язык: < /p>
CREATE DATABASE IF NOT EXISTS `tablet` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
USE `tablet`;
CREATE TABLE `tablets` (
`id` INT NOT NULL AUTO_INCREMENT,
`image` VARCHAR(100) NOT NULL,
`manufacturer` VARCHAR(100) NOT NULL,
`screen_size` INT NOT NULL,
`operating_system` VARCHAR(100) NOT NULL,
`price` INT NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `tablets`
(`image`, `manufacturer`, `screen_size`, `operating_system`, `price`)
VALUES
('tablet1.jpg', 'Samsung', 75, 'android', 240000),
('tablet2.jpg', 'Apple', 75, ' iOS', 280000),
('tablet3.jpg', 'Samsung', 75, 'android', 220000);
< /code>
Обратите внимание, что значение hoping_system второй строки имеет два ведущих маточных символа до iOS. < /p>
Когда я запускаю: < /p>
SELECT *
FROM tablets
WHERE operating_system = 'iOS';
< /code>
Я не получаю строки, но: < /p>
SELECT *
FROM tablets
WHERE operating_system LIKE '%iOS%';
Почему сравнение равенства (=) терпит неудачу, когда сохраненное значение имеет ведущие пробелы? TRIM (OPERANGE_SYSTEM), или есть способ, чтобы MySQL автоматически обрезал при сравнении/вставке?>
У меня есть таблица для хранения планшетов, включая столбец операционной системы: < /p> [code]CREATE TABLE `tabletek` ( `id` INT NOT NULL AUTO_INCREMENT, `kep` VARCHAR(100) NOT NULL, `gyarto` VARCHAR(100) NOT NULL, `kepmeret` INT NOT NULL, `operacios_rendszer` VARCHAR(100) NOT NULL, `ar` INT NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; < /code> Я загружал данные, как это: < /p> INSERT INTO `tabletek` (`id`, `kep`, `gyarto`, `kepmeret`, `operacios_rendszer`, `ar`) VALUES (1, 'tablet1.jpg', 'Samsung', 75, 'android', 240000), (2, 'tablet2.jpg', 'Apple', 75, ' iOS', 280000), (3, 'tablet3.jpg', 'Samsung', 75, 'android', 220000); [/code] Обратите внимание, что в строке 2 есть вкладка/пространство перед iOS. Когда я запускаю: < /p> [code]SELECT * FROM tabletek WHERE operacios_rendszer = 'iOS'; < /code> Я не получаю результатов. Однако: < /p> SELECT * FROM tabletek WHERE operacios_rendszer LIKE '%iOS%'; < /code> Правильно возвращает планшет Apple. < /p> Вот переведенная версия < /p> У меня есть база данных MySQL для хранения характеристик планшетов. Вот схема и образцы данных, переведенные на английский язык: < /p> CREATE DATABASE IF NOT EXISTS `tablet` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; USE `tablet`;
CREATE TABLE `tablets` ( `id` INT NOT NULL AUTO_INCREMENT, `image` VARCHAR(100) NOT NULL, `manufacturer` VARCHAR(100) NOT NULL, `screen_size` INT NOT NULL, `operating_system` VARCHAR(100) NOT NULL, `price` INT NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `tablets` (`image`, `manufacturer`, `screen_size`, `operating_system`, `price`) VALUES ('tablet1.jpg', 'Samsung', 75, 'android', 240000), ('tablet2.jpg', 'Apple', 75, ' iOS', 280000), ('tablet3.jpg', 'Samsung', 75, 'android', 220000); < /code> Обратите внимание, что значение hoping_system второй строки имеет два ведущих маточных символа до iOS. < /p> Когда я запускаю: < /p> SELECT * FROM tablets WHERE operating_system = 'iOS'; < /code> Я не получаю строки, но: < /p> SELECT * FROM tablets WHERE operating_system LIKE '%iOS%'; [/code] Почему сравнение равенства (=) терпит неудачу, когда сохраненное значение имеет ведущие пробелы? TRIM (OPERANGE_SYSTEM), или есть способ, чтобы MySQL автоматически обрезал при сравнении/вставке?>
У меня есть таблица для хранения планшетов, включая столбец операционной системы:
CREATE TABLE `tabletek` (
`id` INT NOT NULL AUTO_INCREMENT,
`kep` VARCHAR(100) NOT NULL,
`gyarto` VARCHAR(100) NOT NULL,
`kepmeret` INT NOT NULL,...
У меня есть таблица для хранения планшетов, включая столбец операционной системы:
CREATE TABLE `tabletek` (
`id` INT NOT NULL AUTO_INCREMENT,
`kep` VARCHAR(100) NOT NULL,
`gyarto` VARCHAR(100) NOT NULL,
`kepmeret` INT NOT NULL,...
Мне нужно добавить проверку в текстовое поле, написав регулярное выражение.
Символами могут быть любые символы ASCII, включая специальные символы.
Но не должно допускать пробелов или только пробелы.
Между словами могут быть пробелы, а также...