MySQL创建customer表报ERROR 1064语法错误如何修复
错误原因
你遇到的1064语法错误根源是 MySQL不支持NUMBER数据类型,这个类型是Oracle、PostgreSQL等其他数据库的数值类型语法,不能直接在MySQL里使用。额外提示:手机号字段不适合用数值类型存储,遇到前置0、带+的国家区号时会出现数据丢失、格式错误的问题。
修复方案
把两个使用了错误类型的字段替换成MySQL支持的合法类型即可:
age是小范围整数值,用TINYINT UNSIGNED(无符号小整数,取值范围0-255,完全覆盖年龄的合理取值)即可phone推荐用VARCHAR(20)字符串类型存储,兼容各类手机号格式;如果必须存纯数字手机号,用BIGINT类型,不要用不存在的NUMBER(15)
修正后的完整建表语句如下:
CREATE TABLE customer( cust_no VARCHAR(5), cust_name VARCHAR(15), age TINYINT UNSIGNED, phone VARCHAR(20) );
执行验证
- 确认当前已切换到
table1数据库(你之前执行的use table1;已经完成这步,不需要重复执行) - 运行上面修正后的建表语句
- 执行
DESC customer;查看表结构,确认字段、类型都符合预期即修复完成
内容的提问来源于stack exchange,提问作者Muhammed Hashim P
相关产品推荐
相关产品推荐

