我正在阅读Paul DuBois的MySQL,我正在准确地了解如何进行子查询。我不知道我的查询逻辑是否正确,但我想我的语法是正确的。
无论如何,我一直收到这个错误:
1064 - 您的SQL语法出错;查看与您的MySQL服务器版本相对应的手册,以便在' WHERE userID =附近使用正确的语法(SELECT userID FROM usuarios WHERE deprecated_userName =' webmast' at line 2
对于此查询:
INSERT INTO cursosUsuarios (deprecated_cursoID, userID) VALUES (4255, 1)
WHERE userID = (SELECT userID FROM usuarios WHERE deprecated_userName = 'webmaster');
我有什么非常明显的遗失吗?
答案 0 :(得分:1)
普通insert
语句没有where
子句。 Insert ... select ...
语句可能在选择部分中有一个。
我认为您希望将webmaster
用户注册到课程中。在这种情况下我会使用insert ... select ...
:
INSERT INTO cursosUsuarios (deprecated_cursoID, userID)
SELECT 4255, userID
FROM usuarios
WHERE deprecated_userName = 'webmaster'