我正在为登录系统创建基于用户的数据库。我的数据库中有大约15个表。我有一个在数据库中添加新用户的过程。在我添加我的数据库中的循环引用之前,我创建了一个虚假用户(发送内部通信),从那里我创建了我的第一个真实用户并引用了我的用户0.然后我删除了所有帐户以重新填充它。
我的表格设计如下:
ID, password, ..., idSupervisor (which is the circular references)
我无法添加新帐户,因为我没有第一个虚假帐户来添加引用。
如何在不删除所有数据库的情况下再次添加虚假帐户
我正在使用SQL Server 2008
编辑:我的表就是这样创建的:
CREATE TABLE User
(
ID INT PRIMARY KEY IDENTITY,
Pass VARCHAR(100) NOT NULL,
IdSupervisor INT,
FOREIGN KEY (IdSupervisor) REFERENCES User(ID) -- Actually added after in an alter table
)
我不想放弃整个数据库。我只是想添加一个新的假用户,这样我就可以从那里开始我的用户列表了。
答案 0 :(得分:1)
在问题上有一个冗长的评论帖后,主要问题似乎是这个错误信息:
无法将值NULL插入列" idSupervisor',table' DB.dbo.User&#39 ;;列不允许空值。 INSERT失败。
鉴于你的另一条评论:
可能为空
您似乎需要做的就是为该列提供NULL
值。像这样:
ALTER TABLE [User] ALTER COLUMN [IdSupervisor] INT NULL
只需更改列以允许NULL
值,然后您就可以在该列中插入NULL
值的记录。