Erreur lors de la création d'une table: "Il y a déjà un objet nommé ... dans la base de données", mais pas d'objet avec ce nom
Je suis en train de créer une table sur un Serveur Microsoft SQL server 2005 (Express).
Lorsque j'exécute cette requête
USE [QSWeb]
GO
/****** Object: Table [dbo].[QSW_RFQ_Log] Script Date: 03/26/2010 08:30:29 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[QSW_RFQ_Log](
[RFQ_ID] [int] NOT NULL,
[Action_Time] [datetime] NOT NULL,
[Quote_ID] [int] NULL,
[UserName] [nvarchar](256) NOT NULL,
[Action] [int] NOT NULL,
[Parameter] [int] NULL,
[Note] [varchar](255) NULL,
CONSTRAINT [QSW_RFQ_Log] PRIMARY KEY CLUSTERED
(
[RFQ_ID] ASC,
[Action_Time] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
J'ai eu ce message d'erreur
Msg 2714, Niveau 16, État 4, Ligne 2
Il y a déjà un objet nommé
'QSW_RFQ_Log" dans la base de données. Msg
1750, Niveau 16, État 0, La Ligne 2
ne pas créer de contrainte. Voir le précédent
erreurs.
mais si j'essaie de trouver l'objet en question à l'aide de cette requête:
SELECT *
FROM QSWEB.sys.all_objects
WHERE upper(name) like upper('QSW_RFQ_%')
J'ai eu ce
(0 ligne(s) affectée)
Ce qui se passe????
source d'informationauteur DavRob60
Vous devez vous connecter pour publier un commentaire.
Vous essayez de créer un tableau avec le même nom qu'une contrainte (QSW_RFQ_Log). Votre requête ne pas trouver l'objet en raison de la création de la table échoue si l'objet n'existe pas après l'erreur. Choisir un nouveau nom pour la contrainte et il va travailler, par exemple:
essayez ceci:
vous essayez d'ajouter la clé Primaire le même nom que la table, faire la PK avoir un nom différent.
Vous ne devriez pas le nom de la contrainte de clé primaire comme votre datatable 😉