更新表列mysql

时间:2018-04-12 08:10:41

标签: mysql sql

我想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') 

2 个答案:

答案 0 :(得分: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')

答案 1 :(得分:0)

您无法更新具有相同表名的内部查询或子查询的表。

您要更新tableA在同一查询中使用tableA来获取结果

MySQL Error 1093 - Can't specify target table for update in FROM clause

由于