sql - 我对 SQL 和 Access 很陌生。我有所有这些语句来创建表,但我得到语法错误或“找不到表或约束
问题描述
正如标题所示,我在创建这两个表时遇到了问题。我做的另外两个我没有问题。我对 SQL 很陌生,并试图自学,所以我为我的无知感到抱歉,但这让我发疯。我正在使用 MS Access 2016
表 1(语法错误):
CREATE TABLE STUDENT(
studentID INTEGER,
firstName varchar(20),
lastName varchar(20),
gender char(1),
majorDept integer,
class varchar(10),
GPA NUMBER(3,2),
PRIMARY KEY(studentID),
FOREIGN key (majorDept) REFERENCES Department(deptID),
check(gender in ('M', 'F')),
check(class IN ('Freshman','Sophomore','Junior','Senior')),
CHECK (GPA >=0.00 AND GPA <=4.00));
表 2(表/约束误差):
CREATE TABLE Enrollment(
studentID INTEGER,
courseID integer,
PRIMARY key(studentID),
FOREIGN KEY(studentID) REFERENCES STUDENT(studentID),
FOREIGN KEY(courseID) REFERENCES Course(CourseID));
解决方案
第一个错误是通过声明调用的GPA NUMBER(3,2)
,因为NUMBER
它不是 SQL 中的数据类型。将此更改为NUMERIC(3,2)
orDECIMAL(3,2)
将解决此问题。第二个错误是拉,因为您试图FOREIGN KEY
在表上创建一个STUDENT
,由于第一个错误,该表不存在。
推荐阅读
- javascript - Javascript 响应性
- c# - 有没有办法通过不同的条目过滤 DataTable?
- haskell - 基于REFLECTX的切换收缩和扩展
- solidity - 从合约B获取合约A地址
- python-3.x - 如何在pyqt中显示RGB图像
- python - 使用来自另一个数组的索引切片一个 numpy 数组
- python - OpenCV drawContours 没有保存
- javascript - 如何取消选择摩纳哥编辑器中的所有内容
- lua - 如何查看一个数字可以进入另一个数字多少次?
- gatsby - Gatsby 网站在更新后加载白页和错误,找到根本原因的最佳方法?