NetBeans 12.4 操作 MySQL 数据库时无法创建指定数据表问题求助
MySQL 建表语法错误排查方案
- 检查字段名是否使用了MySQL保留字:
order、type、name、index这类属于MySQL内置保留字,如果直接作为字段名使用会触发语法错误,必须用反引号`包裹保留字字段名才可正常使用。 - 核对字段类型配置是否符合MySQL规范:
- 字符串类型:char最大支持长度为255,utf8编码下varchar最大有效长度为21844,超出长度限制会报错
- 数值类型:MySQL 8.0及以上版本已废弃int(M)类的显示长度写法,不要额外给int、bigint等数值类型设置长度参数
- 日期类型:date、datetime、timestamp等时间类型无需设置长度,加了长度参数会触发语法错误
- 核对约束配置规则:
- 单张表只能设置一次PRIMARY KEY,多字段联合主键需要单独写在所有字段定义之后,不能给每个字段单独加主键约束
NOT NULL、DEFAULT等修饰符要放在字段类型之后,顺序不能颠倒- 默认值要和字段类型匹配:字符串类型默认值需要加单引号包裹,数值、布尔类型不需要加引号
- 检查表名是否包含特殊字符,或者与库内已存在的表重名,未转义的特殊字符会导致语法解析失败
- 检查建表语句末尾的引擎、字符集配置拼写是否正确,标准写法参考:
ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
内容的提问来源于stack exchange,提问作者Anonymous
相关产品推荐
相关产品推荐

