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