这是一整个库,有好多张表,报的错都一样,所以我精简了一些,原脚本截取一段为这样:
请看注释:SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Role]') AND type in (N'U')) //本人把sys.objects转换成了sysobjects object_id 转成id
BEGIN
CREATE TABLE [dbo].[Role](
[ID] [int] IDENTITY(1,1) NOT NULL,
[RoleName] [varchar](50) NULL,
CONSTRAINT [PK_Role] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] //把这项去掉
) ON [PRIMARY]
END
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Users]') AND type in (N'U')) //本人把sys.objects转换成了sysobjects object_id 转成id
BEGIN
CREATE TABLE [dbo].[Users](
[ID] [int] IDENTITY(1,1) NOT NULL,
[UserName] [varchar](50) NULL,
[RealName] [varchar](50) NULL,
[Password] [varchar](255) NULL,
[Address] [varchar](200) NULL,
[Phone] [varchar](20) NULL,
[Mobile] [varchar](20) NULL,
[Email] [varchar](200) NULL,
[CreateDate] [datetime] NULL,
[Status] [bit] NULL,
[RoleID] [int] NULL,
[Re] [text] NULL,
CONSTRAINT [PK_User] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] //把这项去掉
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_Users_Role]') AND parent_object_id = OBJECT_ID(N'[dbo].[Users]'))
ALTER TABLE [dbo].[Users] WITH NOCHECK ADD CONSTRAINT [FK_Users_Role] FOREIGN KEY([RoleID])
REFERENCES [dbo].[Role] ([ID])
GO
ALTER TABLE [dbo].[Users] CHECK CONSTRAINT [FK_Users_Role]
GO还报错,好像是外键的问题?????
服务器: 消息 208,级别 16,状态 1,行 24
对象名 'sys.foreign_keys' 无效。
服务器: 消息 4917,级别 16,状态 1,行 1
约束 'FK_Users_Role' 不存在。
服务器: 消息 4916,级别 16,状态 1,行 1
未能启用或禁用约束。请参阅前面的错误信息。
请看注释:SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Role]') AND type in (N'U')) //本人把sys.objects转换成了sysobjects object_id 转成id
BEGIN
CREATE TABLE [dbo].[Role](
[ID] [int] IDENTITY(1,1) NOT NULL,
[RoleName] [varchar](50) NULL,
CONSTRAINT [PK_Role] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] //把这项去掉
) ON [PRIMARY]
END
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Users]') AND type in (N'U')) //本人把sys.objects转换成了sysobjects object_id 转成id
BEGIN
CREATE TABLE [dbo].[Users](
[ID] [int] IDENTITY(1,1) NOT NULL,
[UserName] [varchar](50) NULL,
[RealName] [varchar](50) NULL,
[Password] [varchar](255) NULL,
[Address] [varchar](200) NULL,
[Phone] [varchar](20) NULL,
[Mobile] [varchar](20) NULL,
[Email] [varchar](200) NULL,
[CreateDate] [datetime] NULL,
[Status] [bit] NULL,
[RoleID] [int] NULL,
[Re] [text] NULL,
CONSTRAINT [PK_User] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] //把这项去掉
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_Users_Role]') AND parent_object_id = OBJECT_ID(N'[dbo].[Users]'))
ALTER TABLE [dbo].[Users] WITH NOCHECK ADD CONSTRAINT [FK_Users_Role] FOREIGN KEY([RoleID])
REFERENCES [dbo].[Role] ([ID])
GO
ALTER TABLE [dbo].[Users] CHECK CONSTRAINT [FK_Users_Role]
GO还报错,好像是外键的问题?????
服务器: 消息 208,级别 16,状态 1,行 24
对象名 'sys.foreign_keys' 无效。
服务器: 消息 4917,级别 16,状态 1,行 1
约束 'FK_Users_Role' 不存在。
服务器: 消息 4916,级别 16,状态 1,行 1
未能启用或禁用约束。请参阅前面的错误信息。
解决方案 »
- sql server2000能装服务器端么?
- SQL里面如何生成“流程图”?
- 求最佳解:以一数据库为模板数据库,生成除数据库名不一样外其它完成一样的另外一数据库。
- 高手来急求帮助:T-SQL创建登录数据库用户,并分配对某数据库的db_owner权限
- 有关SQLSERVER大数据量同步的问题。
- SqlServer 2005,数据库权限丢失,一个比较刺激的问题!!!
- 求解一个触发器或者存储过程
- 重复记录删除
- jsp中插入有主关键字(自动编号)的数据库的sql语句如何写???
- 这是死锁现象吗?
- 已经声明了,为什么还提示“必须声明变量@Num”
- 本机装sqlserver端口与其他sqlserver端口冲突该怎么解决?
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Role]') AND type in (N'U')) -----本人把sys.objects转换成了sysobjects object_id 转成id
BEGIN
CREATE TABLE [dbo].[Role](
[ID] [int] IDENTITY(1,1) NOT NULL,
[RoleName] [varchar](50) NULL,
CONSTRAINT [PK_Role] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ----把这项去掉
) ON [PRIMARY]
END
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Users]') AND type in (N'U')) -----本人把sys.objects转换成了sysobjects object_id 转成id
BEGIN
CREATE TABLE [dbo].[Users](
[ID] [int] IDENTITY(1,1) NOT NULL,
[UserName] [varchar](50) NULL,
[RealName] [varchar](50) NULL,
[Password] [varchar](255) NULL,
[Address] [varchar](200) NULL,
[Phone] [varchar](20) NULL,
[Mobile] [varchar](20) NULL,
[Email] [varchar](200) NULL,
[CreateDate] [datetime] NULL,
[Status] [bit] NULL,
[RoleID] [int] NULL,
[Re] [text] NULL,
CONSTRAINT [PK_User] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ----把这项去掉
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_Users_Role]') AND parent_object_id = OBJECT_ID(N'[dbo].[Users]'))
ALTER TABLE [dbo].[Users] WITH NOCHECK ADD CONSTRAINT [FK_Users_Role] FOREIGN KEY([RoleID])
REFERENCES [dbo].[Role] ([ID])
GO
ALTER TABLE [dbo].[Users] CHECK CONSTRAINT [FK_Users_Role]
GO
select * from sysobjects where type='f'
ALTER TABLE [dbo].[Users] WITH NOCHECK ADD CONSTRAINT [FK_Users_Role] FOREIGN KEY([RoleID])
REFERENCES [dbo].[Role] ([ID])
GO
ALTER TABLE [dbo].[Users] CHECK CONSTRAINT [FK_Users_Role]
GO
对象名 'sysforeign_keys' 无效。
服务器: 消息 4917,级别 16,状态 1,行 1
约束 'FK_Users_Role' 不存在。
服务器: 消息 4916,级别 16,状态 1,行 1
未能启用或禁用约束。请参阅前面的错误信息。
这改成什么样的?
IF NOT EXISTS (SELECT * FROM sysobjects where type='f' (N'[dbo].[FK_Users_Role]') AND parent_object_id = OBJECT_ID(N'[dbo].[Users]'))
ALTER TABLE [dbo].[Users] WITH NOCHECK ADD CONSTRAINT [FK_Users_Role] FOREIGN KEY([RoleID])
REFERENCES [dbo].[Role] ([ID])
GO
ALTER TABLE [dbo].[Users] CHECK CONSTRAINT [FK_Users_Role]
GO
服务器: 消息 170,级别 15,状态 1,行 24
第 24 行: '(' 附近有语法错误。
服务器: 消息 4917,级别 16,状态 1,行 1
约束 'FK_Users_Role' 不存在。
服务器: 消息 4916,级别 16,状态 1,行 1
未能启用或禁用约束。请参阅前面的错误信息。