繁体   English   中英

MySQL中的表创建导致模糊错误

[英]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列需要一个长度,如文档中所述

CHARVARCHAR类型声明的长度指示要存储的最大字符数。 例如, 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM