创建医院数据库时遇Error Code:1064语法错误,请求技术帮助
解决MySQL创建MedicalHistory表的语法错误
问题原因
condition是MySQL的保留关键字,直接将它用作列名会触发语法解析错误,这就是你收到Error Code: 1064的原因。
解决方案
有两种可行的修复方式:
1. 更换非保留字列名(推荐)
把condition替换成类似medical_condition的非保留字列名,修改后的SQL语句如下:
create table MedicalHistory( id int AUTO_INCREMENT PRIMARY KEY NOT NULL, medicaldate DATE NOT NULL, medical_condition varchar (100) NOT NULL, surgeries varchar (100) NOT NULL, medication varchar (100) NOT NULL );
2. 用反引号包裹保留字列名
如果必须使用condition作为列名,可以用反引号(`)将其包裹,让MySQL将其识别为普通标识符:
create table MedicalHistory( id int AUTO_INCREMENT PRIMARY KEY NOT NULL, medicaldate DATE NOT NULL, `condition` varchar (100) NOT NULL, surgeries varchar (100) NOT NULL, medication varchar (100) NOT NULL );
注意事项
优先选择第一种方案,使用非保留字作为列名可以避免后续编写查询语句时再次遇到类似的语法问题,让代码更易读且不易出错。
内容的提问来源于stack exchange,提问作者Berat TUNA
相关产品推荐
相关产品推荐

