Mysql SQL语法错误-创建新数据库

Mysql SQL语法错误-创建新数据库,mysql,sql,mysql-workbench,Mysql,Sql,Mysql Workbench,这是我的代码,当前在USE语句的第3行出现错误: CREATE DATABASE `jamestennisdbTest`; USE jamestennisdbTest; DROP TABLE IF EXISTS lessontbl; CREATE TABLE lessontbl ( LessonID int(11) NOT NULL AUTO_INCREMENT, LessonName varchar(30) NOT NULL, LengthOfLesson int(

这是我的代码,当前在USE语句的第3行出现错误:

 CREATE DATABASE `jamestennisdbTest`;

 USE jamestennisdbTest;

  DROP TABLE IF EXISTS lessontbl;
  CREATE TABLE lessontbl (
  LessonID int(11) NOT NULL AUTO_INCREMENT,
  LessonName varchar(30) NOT NULL,
  LengthOfLesson int(11) NOT NULL,
  NoOfPupils int(11) NOT NULL,
  LocationID int(11) NOT NULL,
  `Type` varchar(45) NOT NULL,
  CostPerPupil float NOT NULL,
  TotalCost float NOT NULL,
  PRIMARY KEY (LessonID),
  UNIQUE KEY LessonID_UNIQUE (LessonID),
  KEY `fk_Location_lesson-location` (LocationID),
  CONSTRAINT `fk_Location_lesson-location` FOREIGN KEY (LocationID) REFERENCES         locationstbl (LocationID) ON DELETE NO ACTION ON UPDATE NO ACTION
) 
…它还在继续,但那不是错误出现的地方


…我正试图通过Delphi ADOQuery来实现这一点,虽然我不认为这是错误所在

我相信“use”语句只在mysql命令行客户端中用于切换到另一个数据库。如果要使用另一个数据库,可能需要使用一些API调用,或者直接重新连接到新创建的数据库。

我相信“use”语句只在mysql命令行客户端中用于切换到另一个数据库。如果要使用另一个数据库,可能需要使用一些API调用,或者直接重新连接到新创建的数据库。

我认为ado查询不允许创建表,但可能是错误的……为什么要使用“delphi”标记?请在HeidiSQL或MySQL workbench这样的客户端应用程序中尝试,这样可以确保语法正确。我删除了Delphi标记,因为这个问题与Delphi本身无关。事实上,您使用的是Delphi TADOQuery对所问的问题没有意义。抱歉,只是不知道Delphi的ADOQuery是否导致了错误:我认为ado query不允许您创建表,但可能是错误的……为什么使用“Delphi”标记?请在HeidiSQL或MySQL workbench这样的客户端应用程序中尝试,这样可以确保语法正确。我删除了Delphi标记,因为这个问题与Delphi本身无关。事实上,您使用的是Delphi TADOQuery对于所问的问题没有意义。抱歉,只是不知道Delphi的ADOQuery是否导致了错误:SThanks!你知道怎么做吗?或者我应该在创建数据库后关闭查询,然后将查询的其余部分作为新查询运行吗?不,不幸的是,我不知道如何在Delphi中执行此操作。我假设您有一段代码,它实际上建立了数据库连接。我建议你开始看看那里。谢谢!你知道怎么做吗?或者我应该在创建数据库后关闭查询,然后将查询的其余部分作为新查询运行吗?不,不幸的是,我不知道如何在Delphi中执行此操作。我假设您有一段代码,它实际上建立了数据库连接。我建议你开始看看那里。