2014-06-04 5 views
1

Попытка добавить таблицу в мою базу данных в SQL Server Management Studio, но она бросает шаткое. Я уверен, что это очень просто, но мой мозг пошел в кашу, и я не могу найти проблему. В основном это говорит мне, что база данных уже существует, но это явно не так.SQL Server - Создать сценарий таблицы не работает

Ошибка (ы):

Msg 3701, Level 11, Состояние 5, линия 2
Невозможно удалить таблицу 'MySchema.mix_Case_Study-Module', потому что он не существует, или нет разрешение.

Msg 2714, Level 16, State 5, Line 4
В базе данных уже есть объект 'mix_Case_Study-Module'.

Msg 1750, Level 16, State 0, Line 4
Не удалось создать ограничение. См. Предыдущие ошибки.

Msg 4902, Level 16, State 1, Line 2
Не удается найти объект "MySchema.mix_Case_Study-Module", поскольку он не существует, или у вас нет разрешения.

SQL:

USE [MyDB] 
GO 

SET ANSI_NULLS ON 
GO 

SET QUOTED_IDENTIFIER ON 
GO 

DROP TABLE [MySchema].[mix_Case_Study-Module] 

CREATE TABLE [MySchema].[mix_Case_Study-Module](
    [ID] [int] IDENTITY(1,1) NOT NULL, 
    [Active] [bit] NOT NULL, 
    [Case Study ID] [int] NOT NULL, 
    [Module ID] [int] NOT NULL, 
    [Position] [int] NOT NULL, 
    CONSTRAINT [mix_Case_Study-Module] PRIMARY KEY CLUSTERED (
     [ID] ASC 
    ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY] 
) ON [PRIMARY] 

GO 

ALTER TABLE [MySchema].[mix_Case_Study-Module] ADD CONSTRAINT [DF_mix_Case_Study-Module_Active] DEFAULT ((1)) FOR [Active] 

GO 

Любая помощь приветствуется.

+0

у вас есть разрешение на падение? –

+0

@VictorRibeirodaSilvaEloy yes –

+0

Вы уверены, что имя схемы "[MySchema]"? –

ответ

5

Ваше имя ограничения и имя таблицы одинаковы.

CREATE TABLE [MySchema].[mix_Case_Study-Module] 

и

CONSTRAINT [mix_Case_Study-Module] PRIMARY KEY CLUSTERED 
+1

Вы, сэр, суперзвезда. –

0

у вас возникли проблемы, потому что вы первый пытается удалить таблицу, которая не существует.

Вы должны использовать что-то вроде этого:

USE [MyDB] 
GO 

SET ANSI_NULLS ON 
GO 

SET QUOTED_IDENTIFIER ON 
GO 

IF OBJECT_ID([MySchema].[mix_Case_Study-Module], 'u') IS NOT NULL 
    DROP TABLE [MySchema].[mix_Case_Study-Module] 

CREATE TABLE [MySchema].[mix_Case_Study-Module](
    [ID] [int] IDENTITY(1,1) NOT NULL, 
    [Active] [bit] NOT NULL, 
    [Case Study ID] [int] NOT NULL, 
    [Module ID] [int] NOT NULL, 
    [Position] [int] NOT NULL, 
    CONSTRAINT [mix_Case_Study-Module_PK] PRIMARY KEY CLUSTERED (
     [ID] ASC 
    ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY] 
) ON [PRIMARY] 

GO 

ALTER TABLE [MySchema].[mix_Case_Study-Module] ADD CONSTRAINT [DF_mix_Case_Study-Module_Active] DEFAULT ((1)) FOR [Active] 

GO 
Смежные вопросы