它告诉我这里有一个语法错误,但是每个查询都是单独工作的,只有当我尝试将它们组合起来时它才会起作用。
INSERT INTO users( username, password , callsign, macroregion, privelages )
VALUES ( (SELECT username, password, callsign, macroregion, privelages
FROM users
WHERE username = 'someuser'
LIMIT 1) )
我完全被这里难过,有什么建议吗?
答案 0 :(得分:5)
使用:
INSERT INTO users( username, password , callsign, macroregion, privelages )
SELECT username, password, callsign, macroregion, privelages
FROM users
WHERE username = 'someuser'
LIMIT 1
如果要使用SELECT语句为INSERT语句提供值,则省略VALUES
子句。并使用反引号(`)将列/表名括在MySQL reserved words,而不是所有时间。
答案 1 :(得分:1)
您可以使用Insert-Select。
INSERT INTO users( username, password , callsign, macroregion, privelages )
SELECT username, password, callsign, macroregion, privelages
FROM users
WHERE username = 'someuser'
LIMIT 1