【问题标题】:Missing semicolon and syntax error in AccessAccess 中缺少分号和语法错误
【发布时间】:2014-11-03 16:09:49
【问题描述】:

我在课堂上学习 SQL,但我很困惑,因为我们了解到 ACCESS 中不需要分号,但我收到一个错误,我需要一个,并且该错误突出显示了我的第二个 @987654322 @ 声明。

 INSERT INTO FlashDrive
 VALUES ('4001', '4', '$15')
 INSERT INTO Product
 VALUES ('C', '4001', 'FlashDrive')

我什至尝试在 SQL 语句的末尾添加分号,但仍然出现分号错误。

我在这个CREATE TABLE SQL 中也遇到了语法错误:

CREATE TABLE Flash Dive{
Model SMALLINT,
Storage NUMBER,
Price SMALLINT,
PRIMARY KEY (Model),
FOREIGN KEY (Model) REFERENCES Product (Model)
}

下面回答了创建表问题。最后我通过进行两个单独的查询而不是使用一个查询来解决分号问题。

【问题讨论】:

  • '4001'(带引号)不是 SMALLINT,'4'(带引号)不是 NUMBER。删除引号。您的CREATE TABLEFlashDrive 之间有一个空格,并且应该在列定义周围使用() 而不是{}
  • 不错。感谢您的帮助!
  • 我仍然收到缺少分号的错误:INSERT INTO FlashDrive VALUES (4001, 4, 15) INSERT INTO Product VALUES ('C', 4001, 'FlashDrive')
  • 很高兴听到您解决了问题。如果您愿意,可以发布自己的答案以帮助未来的读者(您也可能会收集一些声誉积分)。
  • @JPHochbaum 您应该将解决方案作为答案发布,而不是将答案放在您的问题中。这样可以更轻松地查看问题与解决方案。

标签: sql ms-access syntax


【解决方案1】:

正如@Ken White 所说

'4001'(带引号)不是 SMALLINT,'4'(带引号)不是 NUMBER。删除引号。您应该在列定义周围使用() 而不是{}。语法错误来自Flash Drive 之间的空格。应该是FlashDrive

分号错误是由于操作必须分开造成的。

【讨论】:

    猜你喜欢
    • 2022-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-24
    • 2019-01-04
    • 2021-05-06
    • 2012-03-04
    相关资源
    最近更新 更多