У меня есть таблица Users
с одной колонкой user
типа VARCHAR(15)
. Я могу вставить период в него:Как правильно хранить и получать IP-адреса?
INSERT INTO `LJ`.`Users` (`user`) VALUES ('.')
Теперь я хочу найти этот период:
SELECT * FROM `Users` WHERE `user` LIKE '.'
или
SELECT * FROM `Users` WHERE `user` = '.'
В обоих случаях существующая запись не найдена:
MySQL возвратил пустой набор результатов (то есть нулевые строки). (Query took 0.0001 sec)
Та же проблема с запятой.
На самом деле, я намерен хранить IP-адреса, такие как 125.50.75.80, но я переварил проблему до невозможности поиска знака пунктуации. Я пытался '\.' также безрезультатно.
И это проблема с литералами; что делать с переменными, содержащими строки с периодами?
UPDATE: Я проверил в базе данных, созданной в командной строке с таблицей:
CREATE TABLE LJ.Users (user VARCHAR(15));
и все работает нормально. Я подозреваю, что что-то не так в моей базе данных, созданных с PhpMyAdmin:
Позвольте мне знать, если это помогло вам. – Prix
Дорогой @Prix, это очень полезно, спасибо вам большое! Он работает безотказно и эффективно! Предполагаю, вы участвуете в SQL Fiddle? Я собираюсь сделать пожертвование. –
@Prix, сделано - еще раз спасибо! –