MySQL错误1064&;1146

MySQL错误1064&;1146,mysql,sql,Mysql,Sql,在尝试在MySQl中初始化数据库时,我们已经多次遇到相同的错误(1064和1146),对于如何更正它,我们没有任何想法。 以下是我们到目前为止的情况: 任何帮助都将不胜感激。 谢谢。您正在使用字符串作为表名,请使用反勾号。此外,您还有外键引用不同的列类型,它们必须具有相同的类型和大小。此外,被引用的列必须具有主键或唯一键 在这里,但我认为这不是一个正确的设计 只是缺少逗号: CREATE TABLE 'Customer' ( customerCode VARCHAR(5) PRIMARY KEY

在尝试在MySQl中初始化数据库时,我们已经多次遇到相同的错误(1064和1146),对于如何更正它,我们没有任何想法。 以下是我们到目前为止的情况:

任何帮助都将不胜感激。
谢谢。

您正在使用字符串作为表名,请使用反勾号。此外,您还有外键引用不同的列类型,它们必须具有相同的类型和大小。此外,被引用的列必须具有主键或唯一键

在这里,但我认为这不是一个正确的设计

只是缺少逗号:

CREATE TABLE 'Customer' (
customerCode VARCHAR(5) PRIMARY KEY,
firstName VARCHAR(20) NOT NULL,
lastName VARCHAR(20)NOT NULL,
pointsTotal VARCHAR(5)
)ENGINE=INNODB;

CREATE TABLE 'GameList' (
gameCode INT PRIMARY KEY AUTO_INCREMENT,
gameName VARCHAR(25) NOT NULL,
consoleName VARCHAR(25) NOT NULL,
pointsValue VARCHAR(25) NOT NULL
)ENGINE=INNODB;
最后一个选择应该是:

SELECT custCode,
SUM(points) as pointsTotal from CustomerHistory
GROUP BY custCode;

您的上一个
SELECT
的逗号太多,应该是

SELECT custCode, SUM(points) as pointsTotal 
FROM CustomerHistory
GROUP BY custCode;

外键(点)引用游戏列表(点值)
??这应该做什么?一个错误是在最后一行
GROUP BY custCode
@ypercu后面有一个逗号。对不起,它应该从pointsValue中获取值并将其放入Points。您应该始终引用具有
主键
唯一
约束的列。不仅如此,这里的一列是
INT
,另一列是
VARCHAR
。我们已经消除了大部分错误。非常感谢你,也感谢其他非常有帮助的回答者。