【问题标题】:Mysql select query working but giving error on update queryMysql选择查询工作但在更新查询时出错
【发布时间】:2018-06-28 19:16:31
【问题描述】:

我有一个运行良好的选择查询。

select t1.HOST, t1.portalId from table1 t1, table2 t2
where SUBSTRING_INDEX(t1.HOST, '.',1)= SUBSTRING_INDEX(t2.HOST, '.', 1)

但是,类似的更新查询给出了错误

update table1  set table1.portalId = table2.portalId,
where SUBSTRING_INDEX(table1.HOST, '.',1)= SUBSTRING_INDEX(table2.HOST, '.', 1)

Getting error: "Unknown Column table1.HOST in where clause"

【问题讨论】:

    标签: mysql join left-join crud outer-join


    【解决方案1】:

    你可以使用:

    update table1
    JOIN table2 
      ON SUBSTRING_INDEX(table1.HOST, '.',1)= SUBSTRING_INDEX(table2.HOST, '.', 1)
    set table1.portalId = table2.portalId
    -- WHERE ...
    

    【讨论】:

    • 我正在尝试使用limit,但它不起作用。 update table1 JOIN table2 ON SUBSTRING_INDEX(table1.HOST, '.',1)= SUBSTRING_INDEX(table2.HOST, '.', 1) set table1.portalId = table2.portalId limit 2; 错误:MySQL Error: Incorrect usage of UPDATE and LIMIT
    • @meallhour 在您的原始查询中没有limit。请避免 XY 问题并发布您的真实查询(如果可能,请准备演示 dbfiddle.uk
    猜你喜欢
    • 2016-01-16
    • 2014-12-23
    • 2019-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-31
    • 1970-01-01
    • 2013-04-26
    相关资源
    最近更新 更多