SQL - 运行多个 ALTER 查询

Vla*_*M93 4 sql primary-key alter

我在单个查询中运行多个 ALTER 命令时遇到问题。

每当我尝试运行以下代码时:

ALTER TABLE Book$
ALTER COLUMN PID INT NOT NULL

ALTER TABLE Book$
ADD CONSTRAINT pk_book PRIMARY KEY(PID)
Run Code Online (Sandbox Code Playgroud)

我收到错误:

Cannot define PRIMARY KEY constraint on nullable column in table 'Book$'.
Run Code Online (Sandbox Code Playgroud)

但如果我单独运行查询,首先:

ALTER TABLE Book$
ALTER COLUMN PID INT NOT NULL
Run Code Online (Sandbox Code Playgroud)

进而 :

ALTER TABLE Book$
ADD CONSTRAINT pk_book PRIMARY KEY(PID)
Run Code Online (Sandbox Code Playgroud)

一切似乎都运转良好。我究竟做错了什么?谢谢!

Pரத*_*ீப் 6

在两者之间添加GO(批次分隔符)来解决问题

ALTER TABLE Book$
ALTER COLUMN PID INT NOT NULL

GO

ALTER TABLE Book$
ADD CONSTRAINT pk_book PRIMARY KEY(PID)
Run Code Online (Sandbox Code Playgroud)

如果没有GO整个脚本将被视为单个脚本