MySQL错误1064& 1146

时间:2014-02-26 17:49:01

标签: mysql sql

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

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

3 个答案:

答案 0 :(得分:2)

您正在使用字符串作为表名,请使用返回tick。同样,您有外键引用不同的列类型,它们必须是相同的类型和大小。另外,引用列必须具有主键或唯一键。

就是这样,但我认为这不是一个正确的设计。

SQL Fiddle

答案 1 :(得分:0)

只是缺少逗号:

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;

答案 2 :(得分:0)

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

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