问题描述
我正在尝试在MysqL中查询表。我想获取全部原始数据,然后更新它的TF列。
它看起来像这样:
UPDATE database1.DOC_INFO SET TF='1'
WHERE (
SELECT * FROM DOC_INFO WHERE SPECIALTY='Internal Medicine' AND
LOCATION='NYC' AND TF like 0 LIMIT 1
);
我得到错误代码1241。操作数应包含1列。我如何更改它才能起作用?
解决方法
我认为解决方案非常简单。当您尝试选择和更新同一张表时,一个简单的更新查询就可以正常工作。它应该看起来像这样。
UPDATE
database1.DOC_INFO
SET
TF='1'
WHERE
SPECIALTY='Internal Medicine'
AND LOCATION ='NYC'
AND TF = 0;