【发布时间】:2018-11-24 18:26:11
【问题描述】:
我正在从 MySQL 迁移到 SQL Server 2012,但遇到了麻烦。问题是我有几个带有UNIQUE 命令的表,我尝试将它们转换为等效的 SQL Server 语法,但是当我尝试使用相同的 UNIQUE 字段名称创建第二个表时,会出现此错误。我该如何解决它。
Msg 2714, Level 16, State 5, Line 1
There is already an object named 'Codigo' in the database.
Msg 1750, Level 16, State 0, Line 1
Could not create constraint. See previous errors.
CREATE TABLE cdepartamento (
Sys_PK int NOT NULL IDENTITY,
Sys_TimeStamp datetime2(0) NOT NULL,
Sys_GUID varchar(32) NOT NULL,
Sys_DTCreated datetime2(0) DEFAULT NULL,
Sys_User varchar(5) DEFAULT NULL,
Sys_LastUser varchar(5) DEFAULT NULL,
Sys_Exported smallint DEFAULT NULL,
Sys_DTExported datetime2(0) DEFAULT NULL,
Sys_Info varchar(32) DEFAULT NULL,
Codigo varchar(15) NOT NULL,
Descripcion varchar(150) DEFAULT NULL,
sys_recver int DEFAULT '0',
sys_deleted binary(1) DEFAULT NULL,
sys_lock int DEFAULT NULL,
PRIMARY KEY (Sys_PK),
**CONSTRAINT Sys_GUID UNIQUE (Sys_GUID),**
**CONSTRAINT Codigo UNIQUE (Codigo)**
)
【问题讨论】:
-
"数据库中已经有一个名为 'Codigo' 的对象",您可以尝试在您的 ms SQL 中搜索并确保没有“Codigo”对象退出吗?
-
猜测表上的索引不能与表中的列同名。
标签: mysql sql-server syntax migration unique-constraint