尝试使用联接时我的 SQL 语法出错
Having an error in my SQL syntax when trying to use joins
我目前正在尝试执行此 sql
查询,但我在 SQL:
方面不是最出色的
var sqlQuery = `
SELECT user.ID, user.email, user.first_name, user.last_name,
user.address1, user.address2, user.country, user.gender
FROM subscriber AS user
LEFT JOIN (
SELECT sID, name, experience, locked
FROM chars
) AS char
ON user.ID = char.sID
WHERE user.ID = ?
`;
但是我得到这个错误:
[1] Errors { [Error: ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'char
[1] ON user.ID = char.sID
[1] WHERE user.ID = 13' at line 4]
[1] code: 'ER_PARSE_ERROR',
[1] errno: 1064,
[1] sqlState: '42000',
[1] index: 0 }
任何信息都将非常感谢。
Char
是保留关键字,可以在https://dev.mysql.com/doc/refman/5.7/en/keywords.html.
中查找
所以将代码改成这样,就可以了。一般远离与数据类型冲突的变量名。
( SELECT sID, name, experience, locked
FROM chars ) AS c
语法为 LEFT JOIN chars as char
var sqlQuery = `
SELECT user.ID, user.email, user.first_name, user.last_name,
user.address1, user.address2, user.country, user.gender
FROM subscriber AS user
LEFT JOIN chars AS char
ON user.ID = char.sID
WHERE user.ID = ?
为什么你仍然想要姓名、经验和锁定的字段?
我目前正在尝试执行此 sql
查询,但我在 SQL:
var sqlQuery = `
SELECT user.ID, user.email, user.first_name, user.last_name,
user.address1, user.address2, user.country, user.gender
FROM subscriber AS user
LEFT JOIN (
SELECT sID, name, experience, locked
FROM chars
) AS char
ON user.ID = char.sID
WHERE user.ID = ?
`;
但是我得到这个错误:
[1] Errors { [Error: ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'char
[1] ON user.ID = char.sID
[1] WHERE user.ID = 13' at line 4]
[1] code: 'ER_PARSE_ERROR',
[1] errno: 1064,
[1] sqlState: '42000',
[1] index: 0 }
任何信息都将非常感谢。
Char
是保留关键字,可以在https://dev.mysql.com/doc/refman/5.7/en/keywords.html.
所以将代码改成这样,就可以了。一般远离与数据类型冲突的变量名。
( SELECT sID, name, experience, locked
FROM chars ) AS c
语法为 LEFT JOIN chars as char
var sqlQuery = `
SELECT user.ID, user.email, user.first_name, user.last_name,
user.address1, user.address2, user.country, user.gender
FROM subscriber AS user
LEFT JOIN chars AS char
ON user.ID = char.sID
WHERE user.ID = ?
为什么你仍然想要姓名、经验和锁定的字段?