Mysql 找不到简单sql列

Mysql 找不到简单sql列,mysql,sql,sql-update,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 我得到的错误是:#1054-未知列“products_to_categories.products_id”位于“where子句”中,但该列确实存在,

在此sql中我做错了什么:

Update products 
Set products.products_status = 0
Where products.products_id = products_to_categories.products_id And
products_to_categories.categories_id = 114

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

原因是您没有在
UPDATE
语句中指定表
products\u to\u categories
。即使使用
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

原因是您没有在
UPDATE
语句中指定表
products\u to\u categories
。即使使用
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

您以前在查询中没有提到表
products\u to\u categories
,因此其中的所有列都是未知的

您需要添加FROM子句或类似的内容;详细的表示法取决于您使用的DBMS,在我第一次回答时没有指定


DBMS被标识为MySQL(基于错误号),因此MySQL中的正确语法在语句手册中有描述。它不使用FROM子句(但其他DBMS使用)。请参见by.

您以前在查询中没有提到表
products\u to\u categories
,因此其中的所有列都是未知的

您需要添加FROM子句或类似的内容;详细的表示法取决于您使用的DBMS,在我第一次回答时没有指定


DBMS被标识为MySQL(基于错误号),因此MySQL中的正确语法在语句手册中有描述。它不使用FROM子句(但其他DBMS使用)。请参见by.

它存在于另一个表中,而不是您正在更新的表中!您正在尝试的是通过加入进行更新。根据所使用的数据库,语法会有所不同

例如,以下是伪语法:

Update products,   products_to_categories
Set products.products_status = 0
Where products.products_id = products_to_categories.products_id And
products_to_categories.categories_id = 114

它存在于另一个表中,而不是您正在更新的表中!您正在尝试的是通过加入进行更新。根据所使用的数据库,语法会有所不同

例如,以下是伪语法:

Update products,   products_to_categories
Set products.products_status = 0
Where products.products_id = products_to_categories.products_id And
products_to_categories.categories_id = 114

@JW:谢谢你的保证…你显然能识别出错误号,我没有,它允许你指定DBMS。所以没有FROM或者有?现在对此感到困惑。@JW:谢谢你的保证……你显然能识别错误号,我不知道,它允许你指定DBMS。所以没有FROM或there?我现在对此感到困惑。