MySQL 8创建order表时触发语法错误,寻求解决方法
MySQL 8建表语句语法错误修复方案
你的建表语句存在两个明确的语法错误,同时有一个可读性优化建议:
- 表名使用MySQL保留关键字:
order是MySQL的内置保留关键字,直接作为表名会触发语法错误,必须用反引号`包裹,改为`order`。 - 多余的尾部逗号:最后一行外键约束语句末尾的逗号属于冗余语法,MySQL不允许这种写法,需要删除。
- 可选优化:
DEC是DECIMAL的合法缩写,但为了代码可读性,建议统一写成完整的DECIMAL。
修正后的完整建表语句:
create table `order`( id INTEGER AUTO_INCREMENT, customer_id INTEGER, subtotal DECimal, tax DECimal, total DECIMAL, purchase_at DATE, updated_at DATE, PRIMARY KEY (id), FOREIGN KEY (customer_id) REFERENCES customer (id) );
内容的提问来源于stack exchange,提问作者Courtney
相关产品推荐
相关产品推荐

