【问题标题】:SQL Syntax Error - creating new databaseSQL 语法错误 - 创建新数据库
【发布时间】: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 本身无关。您使用 Delphi TADOQuery 的事实对所提出的问题毫无意义。
  • 对不起,只是不知道 Delphi 的 ADOQuery 是否导致错误:S

标签: mysql sql mysql-workbench


【解决方案1】:

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

【讨论】:

  • 谢谢!虽然有什么想法吗?还是我应该在创建数据库后关闭查询,然后将查询的其余部分作为新查询运行?
  • 不,不幸的是,我不知道如何在 Delphi 中完成此操作。我假设您有一段代码实际上可以建立数据库连接。我建议你从那里开始。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-08
相关资源
最近更新 更多