我有一个Joomla数据库,需要用新的用户ID替换"created_by“列中的条目,但替换是基于"created_by_alias”列中的条目。
╔════════════╦══════════════╗
Created_By_alias ║Created_By ║║
╠════════════╬══════════════╣
║62:*║鲍勃·多尔:*║
║62岁的首席执行官、首席执行官比尔·克林顿、首席执行官比尔·克林顿、首席执行官║、首席执行官比尔·克林顿、首席执行官兼首席执行官约翰·贝克(║║)。
║62的首席执行官、首席执行官鲍勃·多尔、首席执行官鲍勃·多尔、首席执行官鲍勃·多尔、首席执行官鲍勃·多尔、首席执行官鲍勃·多尔、首席执行官鲍勃·多尔、首席执行官║、首席执行官║、首席执行官鲍勃·多尔、首席执行官║鲍勃·多尔、首席财务官鲍勃·多尔、首席财务官鲍勃·多尔、首席财务官兼首席执行官║等人谈到了║62年来的业绩。
║62的首席执行官、首席执行官希拉里·克林顿、首席执行官希拉里·克林顿、首席执行官希拉里·克林顿、首席执行官兼首席执行官║希拉里·克林顿、首席执行官║、首席执行官希拉里·克林顿、║的首席执行官、首席执行官、首席执行官希拉里·克林顿、首席执行官希拉里·克林顿、首席执行官║希拉里·克林顿、首席执行官希拉里·克林顿、英国广播公司║。
╚════════════╩══════════════╝
所以,当"created_by_alias“是鲍勃·多尔时,我需要用1500代替created_by;当"created_by_alias”是比尔·克林顿时,我需要用1550代替;当"created_by_alias“是希拉里·克林顿时,我需要用1600代替。
我提出了以下不起作用的查询:
更新候选人SET created_by = 1500 WHERE created_by_alias (SELECT * FROM candidates created_by_alias LIKE 'Bob Dole')
我收到错误:#1241 -操作数应包含1列
我遗漏了什么?我不是一个程序员或查询专家,我通常的资源目前忙于UW考试。
发布于 2015-04-15 00:33:59
我想你的意思是:
UPDATE candidates SET created_by = 1500 WHERE created_by_alias ='Bob Dole'您得到的错误是因为您的子选择实际上返回了两个字段(62, 'Bob Dole')和两个行。该错误试图告诉您,您只能针对一个字段测试一个值(除非您使用IN子句)。
https://stackoverflow.com/questions/29632679
复制相似问题