Задавайте вопросы, мы ответим
Вы не зашли.
здравствуйте, не могу понять в чем проблема, описываю ситуацию:
у меня установлен vertrigoserv (http://vertrigo.sourceforge.net/?lang=ru) последней версии на локальном компьютере, компоненты:
Apache 2.0.63
PHP 5.2.6
MySQL 5.0.51b
SQLite 3.5.9
Smarty 2.6.19
PhpMyAdmin 2.11.7
ZendOptimizer 3.3.3
SQLiteManager 1.2.0
Я создал таблицу в БД (model), пытаюсь сделать из нее выборку:
SELECT * FROM model WHERE model = 'ASUS M530w'
результат запроса пустой, хотя в поле model точно есть модель ASUS M530w (в SELECT вставлял копированием), насколько я понял, проблема в том, что в названии модели есть ПРОБЕЛ
запрос:
SELECT * FROM model WHERE model = 'test-nokia'
работает, то есть находится искомая строка
В чем может быть проблема?
Неактивен
Если пробел есть именно в названии модели (не в SELECT), то его нужно дописывать в SELECT.
Или использовать что-то типа WHERE model LIKE 'ASUS%'
Неактивен
спасибо за ответ, запрос:
SELECT * FROM model WHERE model LIKE 'ASUS%M530w'
выдает единственную подходящую строку - то что нужно, но это не совсем удобно.
То есть у меня есть таблица, у которой в графе model указано, например:
ASUS M530w
Sony-Ericsson W380i
и т.д., то есть названия с пробелом
и есть текстовые файлы с информацией, в которых есть тоже название модели (ASUS M530w, Sony-Ericsson W380i), то есть название ТАКОЕ ЖЕ как в базе записано
Далее я хочу инфу из файлов записать в БД. Это я планировал делать таким запросом:
UPDATE model SET intro = 'новая информация из файла' WHERE model='ASUS M530w' - и этот запрос не работает и мне не понятно почему, ведь запись в БД в model (ASUS M530w) в точности совпадает с WHERE model='ASUS M530w', но обновления не происходит
с помощью LIKE получилось:
UPDATE model SET intro = 'новая информация из файла' WHERE model LIKE 'ASUS M530w'
И еще я не понял вашу фразу "Если пробел есть именно в названии модели (не в SELECT), то его нужно дописывать в SELECT.". Я в model = 'ASUS M530w' пишу В ТОЧНОСТИ то, что есть в базе.
А вообще спасибо огромное, вопрос можно считать решенным
Неактивен
Насколько я понял, проблема в нескольких пробелах посередине. Если количество пробелов
совпадает - должно проходить нормально. Запросы Вы пишете правильные.
Неактивен
как выяснилось там (в базе) вообще посредине не пробел. Но выглядит как пробел и занимает одну печатную позицию, так сказать. Для меня пока загадка что это )
Неактивен
Может кому-то пригодится в будующем, я просто заменил непонятный символ, похожий на пробел на сам пробел таким вот запросом: UPDATE model SET model = REPLACE(model, ' 1', ' 2'), 1 и 2 надо стереть, 1 - это старый непонятный заменяемый символ, 2 - новый, на который заменяем
paulus - еще раз большое спасибо за помощь!
Неактивен