MySQL使用CLI建表报ERROR 1064语法错误如何修复
问题修复方案
错误原因
你收到1064语法报错的核心原因是 MySQL原生不支持STRING数据类型,该类型是Hive、PostgreSQL等其他数据库的语法,你混用了不同数据库的字段类型定义规则。
修复方法
将所有字段定义中的STRING替换为MySQL支持的字符串类型即可:
- 长度固定、内容较短的字段(手机号、邮箱、邮编、国家/地区名称等)使用
VARCHAR(最大长度),需根据业务需求自定义最大存储长度 - 内容长度不固定的长文本字段(地址、备注等)使用
TEXT,无需提前指定长度
修复后的完整SQL语句
mysql> CREATE TABLE Customer( -> id VARCHAR(20), -> name VARCHAR(20) NOT NULL , -> dob DATE NULL, -> gender INT NULL, -> phone VARCHAR(20), -> mobile VARCHAR(20), -> nic VARCHAR(50) NULL, -> country VARCHAR(100), -> address TEXT, -> region VARCHAR(100), -> city VARCHAR(100), -> state VARCHAR(100), -> postalcode VARCHAR(20), -> endorser1 VARCHAR(100), -> endorser2 VARCHAR(100), -> email VARCHAR(100), -> comment TEXT, -> image VARCHAR(255), -> type INT, -> CONSTRAINT PRIMARY KEY (id) -> );
补充说明
你可以根据实际业务场景调整各VARCHAR字段的最大长度,比如存储图片base64内容时可将image字段类型替换为MEDIUMTEXT或LONGTEXT。
内容的提问来源于stack exchange,提问作者Narakaya
相关产品推荐
相关产品推荐

