我有一个Joomla数据库,我需要在其中用新的用户ID替换“ created_by”列中的条目,但是替换基于“ created_by_alias”列中的条目。
╔════════════╦══════════════╗
║Created_By║d Created_By_alias║
╠════════════╬══════════════╣
║62║鲍勃·多尔(Bob Dole)║
║62║克林顿(Bill Clinton)║
║62║鲍勃·多尔(Bob Dole)║
║62希拉里·克林顿(Hillary Clinton)
╚════════════牛皮══════════════╝
因此,当“ created_by_alias”是Bob Dole时,我需要将created_by替换为1500。 1550年,“ created_by_alias”是比尔·克林顿;当“ created_by_alias”是希拉里·克林顿时为1600。
我想出了以下查询无效:
更新候选
设置created_by = 1500
在哪里created_by_alias
(选择*从候选人
在created_by_alias类似“ Bob Dole”的位置)
我收到错误消息:#1241-操作数应包含1列
我想念什么?我绝不是编码员或查询专家,而我现在通常的资源是忙于UW考试。
最佳答案
我想你的意思是:
UPDATE candidates SET created_by = 1500 WHERE created_by_alias ='Bob Dole'
您得到的错误是因为您的子选择实际上返回了两个字段
(62, 'Bob Dole')
和两行。该错误试图告诉您,您只能针对一个字段测试一个值(除非您使用IN
子句)关于mysql - SQL替换其他列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29632679/