找不到简单的sql列

Sac*_*ing 1 mysql sql sql-update

我在这个SQL中做错了什么:

Update products 
Set products.products_status = 0
Where products.products_id = products_to_categories.products_id And
products_to_categories.categories_id = 114
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:#1054 - 'where子句'中的未知列'products_to_categories.products_id'但该列确实存在,我检查了拼写.

Joh*_*Woo 5

原因是你没有products_to_categoriesUPDATE声明中指定表.你可以加入表格,尽管有update声明,试试,

Update  products a
        INNER JOIN products_to_categories b
            ON a.products_id = b.products_id
Set a.products_status = 0
Where b.categories_id = 114
Run Code Online (Sandbox Code Playgroud)