创建MySQL表时出现语法错误的原因是什么?
解决MySQL创建表时的语法错误问题
嘿,这问题我碰到过好多次啦!你之所以会收到这个语法错误,核心原因是你把MySQL的保留关键字 usage 当成了表名来用。MySQL里有一批特定的单词是预留出来做语法指令的,直接拿来当表名、列名就会触发语法报错。
两种可行的解决方案:
1. 换一个非保留字作为表名
这是最稳妥的做法,能避免后续操作中再遇到类似的麻烦,比如把表名改成user_usage:
CREATE TABLE user_usage ( user_id VARCHAR(20), usage_date DATE, usage_location VARCHAR(20), time_spent INT );
2. 用反引号把保留字表名括起来
如果你一定要用usage作为表名,可以用MySQL的反引号(`)将其包裹,这样数据库就会把它识别为普通标识符而非关键字:
CREATE TABLE `usage` ( user_id VARCHAR(20), usage_date DATE, usage_location VARCHAR(20), time_spent INT );
⚠️ 注意:后续查询这个表的时候,也需要带上反引号,比如SELECT * FROM usage;,不然还是会触发同样的语法错误。
你可以根据自己的需求选其中一种方法,亲测都能解决你现在的语法错误~
内容的提问来源于stack exchange,提问作者bhola prasad
相关产品推荐
相关产品推荐

