Sql 已经有一个名为';支票';在数据库中

Sql 已经有一个名为';支票';在数据库中,sql,sql-server,Sql,Sql Server,Microsoft SQL Server引发此错误 数据库中已存在名为“checks”的对象 SQL Server抛出此错误 味精207,第16级,状态1,第1行 列名“受款人”无效 我尝试在MicrosoftSQLServer中执行查询,结果显示了上面提到的错误 我希望查询运行时不会出错在运行create语句之前,尝试有条件地删除checks表(如果存在): insert into checks (Payee, Amount, Remarks) values ('Ma Bell', 150,

Microsoft SQL Server引发此错误

数据库中已存在名为“checks”的对象

SQL Server抛出此错误

味精207,第16级,状态1,第1行
列名“受款人”无效

我尝试在MicrosoftSQLServer中执行查询,结果显示了上面提到的错误


我希望查询运行时不会出错

在运行create语句之前,尝试有条件地删除
checks
表(如果存在):

insert into checks (Payee, Amount, Remarks)
values
('Ma Bell', 150, 'Have sons next time'),
('Reading R.R.', 245.34, 'Train to Chi'),
('Ma Bell', 200.32, 'Cellular Phone'),
('Local Utilities', 98, 'Gas'),
('Joes Stale & Dent', 150, 'Groceries'),
('Cash', 25, 'Wild Night Out'),
('Joans Gas', 25.1, 'Gas');

在运行create语句之前,尝试有条件地删除
checks
表(如果存在):

insert into checks (Payee, Amount, Remarks)
values
('Ma Bell', 150, 'Have sons next time'),
('Reading R.R.', 245.34, 'Train to Chi'),
('Ma Bell', 200.32, 'Cellular Phone'),
('Local Utilities', 98, 'Gas'),
('Joes Stale & Dent', 150, 'Groceries'),
('Cash', 25, 'Wild Night Out'),
('Joans Gas', 25.1, 'Gas');

您试图创建的表已存在。您可以添加新列“Paye”,而不是重新创建它,如下所示

IF OBJECT_ID('dbo.checks', 'U') IS NOT NULL 
DROP TABLE dbo.checks;

CREATE TABLE checks (
    queries int primary key identity(1,1),
    Payee varchar(30),
    Amount decimal(5,2),
    Remarks varchar(50)
);

# followed by insert
DROP TABLE checks;
一旦更改了表,就可以执行insert语句

如果要删除该表并重新创建它,可以使用以下drop命令删除该表

ALTER TABLE checks
ADD Payee varchar(30);
注意:一旦
删除表,所有现有数据都将被删除

因此,您的最终查询应该如下所示

IF OBJECT_ID('dbo.checks', 'U') IS NOT NULL 
DROP TABLE dbo.checks;

CREATE TABLE checks (
    queries int primary key identity(1,1),
    Payee varchar(30),
    Amount decimal(5,2),
    Remarks varchar(50)
);

# followed by insert
DROP TABLE checks;

您试图创建的表已存在。您可以添加新列“Paye”,而不是重新创建它,如下所示

IF OBJECT_ID('dbo.checks', 'U') IS NOT NULL 
DROP TABLE dbo.checks;

CREATE TABLE checks (
    queries int primary key identity(1,1),
    Payee varchar(30),
    Amount decimal(5,2),
    Remarks varchar(50)
);

# followed by insert
DROP TABLE checks;
一旦更改了表,就可以执行insert语句

如果要删除该表并重新创建它,可以使用以下drop命令删除该表

ALTER TABLE checks
ADD Payee varchar(30);
注意:一旦
删除表,所有现有数据都将被删除

因此,您的最终查询应该如下所示

IF OBJECT_ID('dbo.checks', 'U') IS NOT NULL 
DROP TABLE dbo.checks;

CREATE TABLE checks (
    queries int primary key identity(1,1),
    Payee varchar(30),
    Amount decimal(5,2),
    Remarks varchar(50)
);

# followed by insert
DROP TABLE checks;

对不起,我不能理解你的回答,因为我是一个初学者SQL@Kalpana:查询的前两行将在创建表之前检查表是否存在。这样,当您执行脚本时,如果表可用,它不会抛出错误。检查此链接是否有任何校准<代码>https://stackoverflow.com/questions/17546814/why-object-id-used-while-checking-if-a-table-exists-or-not
很抱歉,我无法理解您的答复,因为我是这方面的初学者SQL@Kalpana:查询的前两行将在创建表之前检查表是否存在。这样,当您执行脚本时,如果表可用,它不会抛出错误。检查此链接是否有任何校准<代码>https://stackoverflow.com/questions/17546814/why-object-id-used-while-checking-if-a-table-exists-or-not
@TimBiegeleisen,:)我以后一定会处理好的。现在就不必担心……另一方面,如果你是唯一一个远程合法的答案,并且OP承认你的答案,那么你绝对可以要求绿色复选标记。@TimBiegeleisen,:)当然我会在将来处理这个问题。将立即消除任何担忧…另一方面,如果您是唯一远程合法的答案,并且OP承认您的答案,那么您绝对可以要求绿色复选标记。