Sql 当我尝试更新dbo.Customer时,它总是告诉我第4、6和9行的isProblemAccount无效
我将这样写:Sql 当我尝试更新dbo.Customer时,它总是告诉我第4、6和9行的isProblemAccount无效,sql,sql-server,database,Sql,Sql Server,Database,我将这样写: ALTER TABLE dbo.CUSTOMER ADD isProblemAccount Bit NULL DEFAULT '0'; UPDATE dbo.CUSTOMER SET isProblemAccount = 0; UPDATE dbo.CUSTOMER SET isProblemAccount = 1 WHERE LastName = 'Gliddens' AND FirstName = 'Melinda'; SELECT Custome
ALTER TABLE dbo.CUSTOMER
ADD isProblemAccount Bit NULL DEFAULT '0';
UPDATE dbo.CUSTOMER
SET isProblemAccount = 0;
UPDATE dbo.CUSTOMER
SET isProblemAccount = 1
WHERE LastName = 'Gliddens'
AND FirstName = 'Melinda';
SELECT CustomerID, LastName, FirstName, isProblemAccount
FROM dbo.CUSTOMER;
另外,如果您希望以后的每条记录都有一个isProblemAccount
,请将列指定为notnull
,并跳过第一条update语句:
ALTER TABLE dbo.CUSTOMER
ADD [isProblemAccount] bit NULL DEFAULT ((0)); -- don't use '0'
GO -- do the change in separate batch
UPDATE dbo.CUSTOMER
SET isProblemAccount = 0
GO -- after every update
UPDATE dbo.CUSTOMER
SET isProblemAccount = 1
WHERE LastName = 'Doe'
AND FirstName = 'John'
GO
SELECT CustomerID, LastName, FirstName, isProblemAccount
FROM dbo.CUSTOMER
哪个是数据库?MySql,Oracle,…SQL server管理研究我想您只需要在
更改表之后执行GO
,而不是在每次更新之后执行。@Andrew:可能,我想我会涵盖所有基础。
ALTER TABLE dbo.CUSTOMER
ADD [isProblemAccount] bit NOT NULL DEFAULT ((0)); -- don't use '0'
GO -- do the change in separate batch
UPDATE dbo.CUSTOMER
SET isProblemAccount = 1
WHERE LastName = 'Doe'
AND FirstName = 'John'
GO
SELECT CustomerID, LastName, FirstName, isProblemAccount
FROM dbo.CUSTOMER