MySQL更新,设置在哪里不工作?

MySQL更新,设置在哪里不工作?,mysql,set,where,Mysql,Set,Where,我读过其他帖子,我真的不明白我做错了什么,因为这是一个如此简单的声明 “()”中的任何内容都是注释 查询: [UPDATE users, sites SET users.idSiteRegUsers='1' WHERE sites.SiteActivateSites='DEL' ] (待选择以在整个查询中更新) (将用户tbl idSiteRegUsers设置为1) (其中只有tbl sites=DEL中的站点) 我也读过并尝试过将INT改为VARCHAR,并将0更新为DEL,但结果仍然相同

我读过其他帖子,我真的不明白我做错了什么,因为这是一个如此简单的声明

“()”中的任何内容都是注释

查询:

[UPDATE users, sites 
SET users.idSiteRegUsers='1'
WHERE sites.SiteActivateSites='DEL' ]
(待选择以在整个查询中更新) (将用户tbl idSiteRegUsers设置为1) (其中只有tbl sites=DEL中的站点)

我也读过并尝试过将INT改为VARCHAR,并将0更新为DEL,但结果仍然相同

问题:

我有2129条记录需要更新,因为使用简单的select语句可以了解结果的数量

([SELECT
sites.SiteActivateSites,
sites.id_Sites,
users.idSiteRegUsers,
users.CompanyNameUsers,
sites.LinkNameSites
FROM
users
INNER JOIN sites ON users.idSiteRegUsers = sites.id_Sites
WHERE
sites.SiteActivateSites != '1']) 'simple'
但是更新查询会更新所有4000多条记录,不仅更新=DEL的记录,还更新引用另一个值(例如=1)的记录

我错过什么了吗

干杯,
Joe

正如使用
SELECT
命令一样,您需要告诉MySQL这些表是如何连接的:您的
UPDATE
目前正在对这两个表进行完全笛卡尔积(由于
用户
中的每一行都与
站点
中的每一行相连接,因此
站点
上的
WHERE
条件过滤仍然会导致
用户
中的每一条记录都匹配)

请尝试:

UPDATE users JOIN sites ON users.idSiteRegUsers = sites.id_Sites
SET    users.idSiteRegUsers='1'
WHERE  sites.SiteActivateSites='DEL'

哈哈,愚蠢的我!非常感谢你指出这一点。你是一个超级明星eggyal!