Mysql 编程错误:1064(42000):您的SQL语法有错误;无法使用外键创建表
我对mysql-python还不熟悉,并参考了它。 以下是我的疑问-Mysql 编程错误:1064(42000):您的SQL语法有错误;无法使用外键创建表,mysql,python-2.7,mysql-python,Mysql,Python 2.7,Mysql Python,我对mysql-python还不熟悉,并参考了它。 以下是我的疑问- TABLES['doctor_details'] = ( "CREATE TABLE `doctor_details` (" " `dr_id` bigint NOT NULL AUTO_INCREMENT," " `doctor_l
TABLES['doctor_details'] = (
"CREATE TABLE `doctor_details` ("
" `dr_id` bigint NOT NULL AUTO_INCREMENT,"
" `doctor_link` varchar(40),"
" `doctor_name` varchar(40) NOT NULL,"
" `doctor_exp_years` float,"
" `doctor_qualification` varchar(40),"
" `doctor_phone_no` varchar(15),"
" `doctor_city` varchar(40),"
" `doctor_state` varchar(40),"
" `doctor_country` varchar(40),"
" `doctor_speciality` varchar(40),"
" `doctor_website_link` varchar(40),"
" `status` int NOT NULL,"
" PRIMARY KEY (`dr_id`)"
") ENGINE=InnoDB")
TABLES['hospital_details'] = (
"CREATE TABLE `hospital_details` ("
" `hospital_id` bigint NOT NULL AUTO_INCREMENT,"
" `dr_id` bigint NOT NULL,"
" `hospital_link` varchar(40),"
" `hospital_name` varchar(40),"
" `hospital_address` varchar(40),"
" `hospital_city` varchar(40),"
" `hospital_state` varchar(40),"
" `hospital_country` varchar(40),"
" `hospital_phone_no` varchar(15),"
" `hospital_speciality` varchar(40),"
" `doctor_link` varchar(40),"
" `hospital_website_link` varchar(40),"
" PRIMARY KEY (`hospital_id`)"
" CONSTRAINT `dr_idfk` FOREIGN KEY (`dr_id`)"
" REFERENCES `doctor_details` (`dr_id`) ON DELETE NO ACTION"
") ENGINE=InnoDB")
self.cursor.execute( TABLES['doctor_details'])
self.cursor.execute( TABLES['hospital_details'])
它给了我以下的错误-
编程错误:1064(42000):您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解使用near'CONSTRAINTdr_idfk
外键(dr_id
)的正确语法参考doctor_details
('dr_i'位于第1行
如果我犯了一些愚蠢的错误,我表示歉意,但欢迎任何形式的指导/帮助
非常感谢。这行后面缺少一个逗号
PRIMARY KEY (`hospital_id`)"
应该如此
PRIMARY KEY (`hospital_id`),"
再说一次,我不做Python,所以我觉得这一切都像希腊语。@Drew-非常感谢它解决了我的编程错误:1064(42000):很抱歉这么愚蠢!很乐意帮忙。请在高兴的时候用绿色复选标记(或任何其他答案)将答案标记为已回答。