SQL 语法错误 - 创建新数据库
Posted
技术标签:
【中文标题】SQL 语法错误 - 创建新数据库【英文标题】:SQL Syntax Error - creating new database 【发布时间】:2012-03-20 17:42:44 【问题描述】:这是我的代码,目前在 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 来做到这一点(尽管我认为这不是错误所在)
【问题讨论】:
我不认为 ado 查询允许您创建表,但可能是错误的...... 为什么是'delphi'标签?请使用 HeidiSQL 或 mysql 工作台等客户端应用程序尝试此操作,这样您可以确保语法正确。 我删除了 Delphi 标签,因为这个问题与 Delphi 本身无关。您使用 DelphiTADOQuery
的事实对所提出的问题毫无意义。
对不起,只是不知道 Delphi 的 ADOQuery 是否导致错误:S
【参考方案1】:
我相信'use'语句只用于mysql命令行客户端切换到另一个数据库。如果您想“使用”另一个数据库,您可能需要使用一些 API 调用或直接重新连接到新创建的数据库。
【讨论】:
谢谢!虽然有什么想法吗?还是我应该在创建数据库后关闭查询,然后将查询的其余部分作为新查询运行? 不,不幸的是,我不知道如何在 Delphi 中完成此操作。我假设您有一段代码实际上可以建立数据库连接。我建议你从那里开始。以上是关于SQL 语法错误 - 创建新数据库的主要内容,如果未能解决你的问题,请参考以下文章