我在使用 Sql Server Management Studio 时遇到了这类问题。经过多天的谷歌搜索和实验,我终于发现了一个问题。
注意:你应该首先为这个表创建一个 drop 和 create table 脚本,否则你将没有你的表
1-首先只用它们对应的外键创建你的表。
2-用这些表创建一个可视化图表(Sql express-Databases-Databasename-DataBase Diagram-右键单击它并选择新的数据库图)
3-在图表上添加所需的数据表,并在这些数据表之间创建关系,并在创建表的过程中添加相应的外键
4-然后保存您的数据库
如果您忘记在数据表中添加给定字段,您可以轻松删除并创建数据表,为此,请执行以下步骤:
1-打开对应数据库的Database图
2-删除要添加某些字段的旧表与其他表之间存在的所有关系
3-然后从图表中删除相应的表(右键单击表,然后从数据表中选择删除表)
4-保存图表(Ctrl + S)
5-转到要删除并创建的表
6-右键单击表格并选择(将表格编写为然后选择删除并创建然后转到新的查询编辑器窗口),这将在新表格中编写表格脚本,此时您可以根据需要对其进行修改,例如和新旧同桌
旧表
USE [DatabaseName]
GO
/****** Object: Table [dbo].[Administrateur] Script Date: 10/11/2016 2:06:04 PM ******/
DROP TABLE [dbo].[Administrateur]
GO
/****** Object: Table [dbo].[Administrateur] Script Date: 10/11/2016 2:06:04 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Administrateur](
[AdministrateurID] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](max) NOT NULL,
[Surname] [nvarchar](max) NULL,
[Phone] [nvarchar](max) NOT NULL,
[Username] [nvarchar](max) NOT NULL,
[Password] [nvarchar](max) NOT NULL,
[Sexe] [nvarchar](max) NOT NULL,
CONSTRAINT [PK_Administrateur] PRIMARY KEY CLUSTERED
(
[AdministrateurID] 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
现在是带有 3 个新字段(电子邮件、图像和盐)的新同一张表
USE [DatabaseName]
GO
/****** Object: Table [dbo].[Administrateur] Script Date: 10/11/2016 2:06:04 PM ******/
DROP TABLE [dbo].[Administrateur]
GO
/****** Object: Table [dbo].[Administrateur] Script Date: 10/11/2016 2:06:04 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Administrateur](
[AdministrateurID] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](max) NOT NULL,
[Surname] [nvarchar](max) NULL,
[Phone] [nvarchar](max) NOT NULL,
[Email] [nvarchar](max) NOT NULL,
[Username] [nvarchar](max) NOT NULL,
[Password] [nvarchar](max) NOT NULL,
[Image] [nvarchar](max) NOT NULL,
[Sexe] [nvarchar](max) NOT NULL,
[Salt] [nvarchar](max) NOT NULL,
CONSTRAINT [PK_Administrateur] PRIMARY KEY CLUSTERED
(
[AdministrateurID] 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
然后在修改后的Datatable页面,按Execute。它不会第一次执行,会写一些遇到的错误,但不要在意,第二次按执行即可。这时它会执行并在文档底部写入成功信息。然后选择数据库并单击刷新(或按F5),他将更新您的数据库在某台计算机上的表,否则您将需要重新启动程序在其他电脑上看到更新之前(我不知道为什么,所以不要让我解释)。
现在返回图表并 dd 更新的表,然后将这些(此)表连接到与其有任何关系的表。
希望这会节省一些人的时间。
我不