обновить столбец таблицы mysql

0

Я хочу update значение столбца, поэтому я использовал этот простой query но он не работает, может ли кто-нибудь предложить что-нибудь, пожалуйста?

UPDATE 'tableA'
SET post_parent = (SELECT wp.ID FROM 'tableA' wp 
                   WHERE wp.post_content='' AND wp.post_name='ba' AND wp.post_type='pa')    
WHERE ID IN (SELECT ID FROM 'tableA' WHERE post_name like '%ba-%' AND post_type='pa') 
  • 3
    «это не работает» не является описанием проблемы, почему это не работает? Не заключайте в кавычки имя таблицы, как будто это строковый литерал.
  • 0
    Вы должны предоставить нам небольшой дамп вашего стола или хотя бы структуру
Показать ещё 2 комментария
Теги:

2 ответа

0

Вы не можете обновить таблицу, в которой внутренний запрос или подзапрос с одинаковыми именами таблиц.

Здесь вы обновляете tableA где в том же запросе вы используете tableA для получения результата

Ошибка MySQL 1093 - Невозможно указать целевую таблицу для обновления в предложении FROM

Спасибо

0
UPDATE tableA
SET post_parent = (SELECT wp.ID 
                   FROM tableA wp 
                   WHERE wp.post_content='' 
                   AND wp.post_name='ba' 
                   AND wp.post_type='pa')
WHERE ID IN ( SELECT ID 
              FROM tableA 
              WHERE post_name 
              like '%ba-%' 
              AND post_type='pa')

Ещё вопросы

Сообщество Overcoder
Наверх
Меню