sql-server - 如何修复sql server中的 "There is already an object named ' ' in the database"错误

标签 sql-server

我已经创建了这个表,因为这个错误我无法手动输入数据。

    USE [Butterfly]
    GO

    SET ANSI_NULLS ON
    GO

    SET QUOTED_IDENTIFIER ON
    GO

    CREATE TABLE [dbo].[VM_Vehicles](
        [VehicleID] [nvarchar](100) NOT NULL,
        [VehicleType] [nvarchar](100) NULL,
        [RegistrationNo] [nvarchar](100) NULL,
        [PurchaseDate] [date] NULL,
        [Make] [nvarchar](100) NULL,
        [Model] [nvarchar](100) NULL,
        [ChassisNo] [nvarchar](100) NULL,
        [EngineNo] [nvarchar](100) NULL,
        [EngineCapacity] [nvarchar](100) NULL,
        [YearofManufacture] [nvarchar](100) NULL,
        [SeatingCapacity] [nvarchar](100) NULL,
        [ContactName] [nvarchar](100) NULL,
        [Phone] [nvarchar](50) NULL,
        [VendorID] [int] NOT NULL,
        [Picture] [image] NULL,
        [VoucherNo] [int] NOT NULL,

     CONSTRAINT [PK_VM_Vehicles1] PRIMARY KEY CLUSTERED 
    (
        [VehicleID] ASC
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
    ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

    GO

我已经尝试使用此代码来查找我的数据库有什么问题。到目前为止还没有找到错误。

IF object_id("tempdb..#VM_Vehicles") is not null
DROP TABLE #VM_Vehicles
CREATE TABLE #VM_Vehicles (vehicleID nvarchar(100), ...);

我已经尝试更改约束名称和表名称。那也没有给我答案。

最佳答案

您正在创建 a persistent table数据库 Butterfly 中的 VM_Vehicles。但是,您正在检查 a temporary table #VM_Vehicles 在数据库 TempDB 中:

IF object_id("tempdb..#VM_Vehicles") is not null

所以你正在检查另一个数据库中的另一个表,所以你有这样的错误:

There is already an object named ' ' in the database

正确的检查语句应该是这样的:

USE Butterfly

IF OBJECT_ID("VM_Vehicles") IS NOT NULL DROP TABLE VM_Vehicles

CREATE TABLE [dbo].[VM_Vehicles](VehicleID nvarchar(100), ...);

关于sql-server - 如何修复sql server中的 "There is already an object named ' ' in the database"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53410438/

相关文章:

sql-server - 让 Yii 与 SQL Server 完美配合

sql - SQL Server 中按日期计算平均值的新列

javascript - 有没有可能通过 jquery 或 javascript 运行选择 sql 查询的方法

sql - 仅在 bit = 1 时使用 where 子句

sql-server - SSPI 和 SQL Server Windows 身份验证

sql-server - 如何在全文搜索中为不同列分配权重?

mysql - 将部分数据从 MySQL 迁移到 MSSQL

sql - 根据每个项目的最新交易日期选择数据

sql - 如果表没有任何意义,我应该使用主键 id 吗?

sql - 用户定义函数 (TSQL) 非确定性和计算持久列