【问题标题】:how to create these two tables in one SQL command in access?如何在access中的一个SQL命令中创建这两个表?
【发布时间】:2016-08-05 06:51:56
【问题描述】:

我在 MS Access 中使用 SQL。我收到此错误:

create table 语句中的语法错误⁠⁠⁠⁠

这是我的代码:

CREATE TABLE school
(
     ID INTEGER CONSTRAINT ID PRIMARY KEY,
     KenyeNo INTEGER
);

CREATE TABLE student
(
     ID_st INTEGER CONSTRAINT ID_st PRIMARY KEY,
     classNo INTEGER
);

如何在 MS Access 中用一条 SQL 命令创建这两张表?

【问题讨论】:

  • 这个答案有帮助吗?
  • 我假设每个创建表都需要一个命令。

标签: sql ms-access create-table


【解决方案1】:

使用DoCmd.RunSQL 命令只能执行一个查询。但是您可以编写一个简单的函数或过程,其中您将有两个命令,每个命令用于一个 CREATE TABLE 查询。

试试这个,我已经测试过了,它可以工作:

DoCmd.RunSQL "CREATE TABLE school (ID INT PRIMARY KEY, KenyeNo  INT)"
DoCmd.RunSQL "CREATE TABLE student(ID_st INT PRIMARY KEY, classNo  INT)"

【讨论】:

  • 是的,我错过了那部分。顺便说一句,Access 每次查询只允许一个 SQL 语句。
  • 开玩笑?错误说明了什么?你现有的代码是什么?
  • 我在空白数据库上测试了这段代码,它完成了它必须做的事情。你试过编译调试吗?
  • 我正在研究微软访问。错误说:无效的 SQL 语句;预期为“DELETE”、“INSERT”、“PROCEDURE”、“SELECT”或“UPDATE”
  • 分享你的代码,看来你还有什么问题。
【解决方案2】:

我不确定是否在一行 SQL 中执行此操作,但这是我建议在 MS Access 中使用 SQL 创建表的方法。我试过了,它似乎按照我的想法工作。

您所做的主要区别在于我用 MyFieldConstraint 替换了对字段“ID”的第二个引用,如 Microsoft 页面上的最后一个示例:https://msdn.microsoft.com/en-us/library/bb177893(v=office.12).aspx

Set dbs = CurrentDb

dbs.Execute "CREATE TABLE school " _
    & "(ID INTEGER CONSTRAINT MyFieldConstraint PRIMARY KEY, " _
    & "KenyeNo INTEGER);"

dbs.Execute "CREATE TABLE student " _
    & "(Id_st INTEGER CONSTRAINT MyFieldConstraint PRIMARY KEY, " _
    & "classNo INTEGER);"

dbs.Close

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-28
    • 2019-07-15
    • 2020-04-01
    • 2015-02-16
    • 2013-09-22
    • 1970-01-01
    • 2022-06-15
    • 1970-01-01
    相关资源
    最近更新 更多