Mysql #1241-操作数应包含1列SQL UPDATE
我想更新一下Mysql #1241-操作数应包含1列SQL UPDATE,mysql,sql,Mysql,Sql,我想更新一下 UPDATE utilisateurs SET NAME = 't', SURNAME = 't', LOGIN = 't', PASSWORD = 't', TYPE = 'Formateur', M_ID = (SELECT M.M_ID, M.LABEL FROM matieres AS M WHERE M.LABEL = 'Culture_General') WHERE U_ID = 3 但这是错误的,我不知道你想: UPDATE util
UPDATE utilisateurs
SET NAME = 't',
SURNAME = 't',
LOGIN = 't',
PASSWORD = 't',
TYPE = 'Formateur',
M_ID = (SELECT M.M_ID, M.LABEL
FROM matieres AS M
WHERE M.LABEL = 'Culture_General')
WHERE U_ID = 3
但这是错误的,我不知道你想:
UPDATE utilisateurs
SET NAME = 't',
SURNAME = 't',
LOGIN = 't',
PASSWORD = 't',
TYPE = 'Formateur',
M_ID = (SELECT M.M_ID
FROM matieres M
WHERE M.LABEL = 'Culture_General'
)
WHERE U_ID = 3;
子查询是标量子查询。这应该只返回一列,最多返回一行。这假定只返回一行。如果要确定,请使用限制
:
M_ID = (SELECT M.M_ID
FROM matieres M
WHERE M.LABEL = 'Culture_General'
LIMIT 1
)
或聚合:
M_ID = (SELECT MAX(M.M_ID)
FROM matieres M
WHERE M.LABEL = 'Culture_General'
)
子查询应该只返回一列。不是两个。(仅一行)请提供样本数据和所需结果。