[英]Table creation in MySQL results in a vague error
我正在尝试在 MySQL 中创建一个表“Student”,
但是,我无法调试错误。
CREATE TABLE STUDENT (
-> No INT NOT NULL,
-> Name VARCHAR(100) NOT NULL,
-> STIPEND DECIMAL(5,2),
-> STREAM VARCHAR,
-> AVGMARKS DECIMAL(3,1),
-> GRADE CHAR(1),
-> CLASS CHAR(3));
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near AVGMARKS DECIMAL(3,1), GRADE CHAR(1), CLASS CHAR(3))' at line 5`
任何帮助,将不胜感激。
我希望数据类型和列名是不言自明的。
我已经浪费了我生命中的 40 分钟来纠正这个可悲的代码
varchar
列需要一个长度,如文档中所述:
CHAR
和VARCHAR
类型声明的长度指示要存储的最大字符数。 例如,CHAR(30)
最多可容纳 30 个字符。
考虑:
CREATE TABLE STUDENT (
No INT NOT NULL,
Name VARCHAR(100) NOT NULL,
STIPEND DECIMAL(5,2),
STREAM VARCHAR(10), --> here
AVGMARKS DECIMAL(3,1),
GRADE CHAR(1),
CLASS CHAR(3)
);
它可能在 STREAM VARCHAR 中
您必须在 VARCHAR 中定义字符数。 尝试 VARCHAR(100) 看看这是否有效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.