ProgrammingError: 1064 (42000): You have an error in your SQL syntax; Unable to create table using foreign key

ProgrammingError: 1064 (42000): You have an error in your SQL syntax; Unable to create table using foreign key

我是 mysql-python 的新手,推荐 this。 以下是我的查询-

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'])

它给了我以下错误-

ProgrammingError: 1064 (42000): 你的 SQL 语法有错误;查看与您的 MySQL 服务器版本相对应的手册,了解在第 1

行 'CONSTRAINT dr_idfk FOREIGN KEY (dr_id) REFERENCES doctor_details (`dr_i' 附近使用的正确语法

如果我犯了一些愚蠢的错误,我深表歉意,但欢迎以任何形式提供指导/帮助。

非常感谢。

你在这行后面少了一个逗号

PRIMARY KEY (`hospital_id`)"

应该是

PRIMARY KEY (`hospital_id`),"

话说回来,我不做 Python,所以对我来说这一切看起来都很希腊。