无法在mysql上创建查询

时间:2018-06-19 11:38:50

标签: mysql sql

update email_template_mapping
    set template_footer = (select id
                           from email_template_mapping
                           where template_description = 'footer'
                          );

此查询给我错误您不能在FROM子句中指定目标表'email_template_mapping'。

请您帮忙。 预先感谢。

2 个答案:

答案 0 :(得分:2)

在MySQL中,您需要使用JOIN来表达这一点:

update email_template_mapping etm left join
       email_template_mapping etmf
       on etmf.template_description = 'footer'
    set etm.template_footer = etmf.id;

答案 1 :(得分:1)

update email_template_mapping
set template_footer =  id
where template_description = 'footer'

应该看起来像这样,在子查询中使用相同的表,因此您可以只设置template footer = id,然后再使用where。查找update statement的格式,这也会为您指明正确的方向,希望对您有所帮助! :)