** Andrey |
Отправлено: 22.11.2004, 21:19 |
|
Не зарегистрирован
|
Здравствуйте господа!
Знать опять не работает следующее вычитал из 2-3 книжек по SQL
UPDATE star4 SET model='Z/20' WHERE num IN (SELECT num FROM star4 WHERE model LIKE 'z-20')
Вложенные подзапросы не работают матюгаются все и Builder+MySQL и SQL Explorer
А если эти запросы писать по отдельности та все работает.
Подскажите пЫжалуйста.
По следующее: Builder 6.0, MySQL 3.23.38 через MyODBC-standard-3.51.9-win
|
|
AVC |
Отправлено: 23.11.2004, 09:00 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
Насчет подзапросов на MySQL не знаю, посмотрите документацию. А конкретно по данному примеру — почему бы не написать так:
UPDATE star4 SET model='Z/20' WHERE model LIKE '%z-20%'
Не вижу смысла в подзапросе.
PS. Документацию смотрите на MySQL, все остальное либо инструмент, либо для связи и в выполнении запросов не участвуют. |
|
Valdemar |
Отправлено: 23.11.2004, 09:10 |
|
Мастер участка
Группа: Участник
Сообщений: 433
|
Если вы хотите заменить все значения поля model, равные 'z-20' на 'Z/20', то можно сделать проще:
UPDATE star4 SET model='Z/20' WHERE model= 'z-20'
или, если старое значение поля model должно содержать в начале текст 'z-20'
UPDATE star4 SET model='Z/20' WHERE model LIKE 'z-20%'
Возможно вы просто опечатались и пропустили в выражении LIKE 'z-20' знак %, т.к. LIKE 'z-20' эквивалентно model= 'z-20'. |
|