sql-server - 我收到语法错误,不知道如何修复它们
问题描述
我收到一个错误
',' 附近的语法不正确
并且不知道如何解决它。
我尝试重写查询,引用旧代码,但似乎没有任何效果。
USE RewriteExam
GO
IF EXISTS(SELECT * FROM sys.objects
WHERE object_id = OBJECT_ID('dbo.Vendors')
AND type IN ('U'))
BEGIN
PRINT 'Vendors table already exists, dropping it now!'
DROP TABLE Vendors
END
GO
PRINT 'Creating the "Vendors" Table'
CREATE TABLE dbo.Vendors
(
VendorID INT PRIMARY KEY,
VendorName VARCHAR(45) NOT NULL,
VendorAddress VARCHAR(45) NULL,
VendorCity VARCHAR(45) NOT NULL,
VendorState VARCHAR(45) NOT NULL,
VendorZipCode VARCHAR(45) NOT NULL,
VendorPhone VARCHAR(45) NULL,
VendorContactLName VARCHAR(7) NULL,
VendorContactFName VARCHAR(14) NULL,
AcountNo INT NOT NULL,
ModifiedDate SMALLDATETIME NOT NULL,
AccountNo INT FOREIGN KEY,
CONSTRAINT PK_Vendors_VendorID
PRIMARY KEY (VendorID)
--REFERENCES Vendors (VendorID)
);
GO
PRINT 'Creating the "GLAccounts" Table'
CREATE TABLE dbo.GLAccounts
(
AccountNo INT PRIMARY KEY,
AccountDescription VARCHAR(45) NOT NULL,
);
GO
问题在于约束。外键后的逗号给了我错误以及PRIMARY KEY (VendorID)
解决方案
只需要在后面添加注释掉的部分
AccountNo INT FOREIGN KEY
并转换为
AccountNo INT FOREIGN KEY REFERENCES Vendors (VendorID)
并删除已定义的约束PRIMARY KEY (VendorID)
推荐阅读
- html - 使用 html / ejs 在页面标题旁边有一个图标
- sql - PROC SQL 条件插入使用 GT 和 LT
- c - 我应该如何验证从 argv 传入的整数值不会溢出?
- javascript - 如何在 Electron 的单个窗口中呈现多个 HTML 文件?
- algorithm - 如何在对角线上找到对称值的索引?
- xml - 基于不包含特定值的后代元素选择元素列表
- node.js - 使用 IAM 角色调用 AWS API Gateway
- groovy - 如何在for循环中使用字符串数组
- android - 在 Unity3D 中使用 AdMob 和受众网络 SDK 的多个 DEX 错误
- html - 如何使内联块容器的左右边距始终相等?