MySQL更新正在将其他行中的选定列设置为零

MySQL更新正在将其他行中的选定列设置为零,mysql,where,selected,zero,selectedvalue,Mysql,Where,Selected,Zero,Selectedvalue,我希望将一个表requester.rqgroup中选定行中的一列设置为另一个表groups.grpnum中选定列的值,一次更新一次 运行此查询时: 更新请求者 SET rqgroup=从组名为“Hosting Open Sys Engineering”的组中选择grpnum 请求者的名字,比如“J.Smith” 对于J.Smith为名称的行,rqgroup值设置正确,但所有其他行的rqgroup值设置为零 有什么建议吗? 新年快乐, 乔纳·贾卡隆(Jonah Giacalone)你不需要输入两次

我希望将一个表requester.rqgroup中选定行中的一列设置为另一个表groups.grpnum中选定列的值,一次更新一次

运行此查询时:

更新请求者 SET rqgroup=从组名为“Hosting Open Sys Engineering”的组中选择grpnum 请求者的名字,比如“J.Smith”

对于J.Smith为名称的行,rqgroup值设置正确,但所有其他行的rqgroup值设置为零

有什么建议吗? 新年快乐, 乔纳·贾卡隆(Jonah Giacalone)

你不需要输入两次where,这就是为什么会发生这种奇怪的事情

改为运行以下命令:

UPDATE requesters SET rqgroup = (SELECT grpnum from groups WHERE groupname like 'Hosting Open Sys Engineering') WHERE  requesters.name LIKE 'J. Smith')
另外,由于like语句用于查找具有精确输入的结果,所以只需使用=

它更快。我想

UPDATE requesters SET rqgroup = (SELECT grpnum from groups WHERE groupname = 'Hosting Open Sys Engineering') WHERE  requesters.name = 'J. Smith')