问题描述
为我的第一个表创建语句:'users':
CREATE TABLE users
(
uid INT NOT NULL IDENTITY PRIMARY KEY,firstName VARCHAR(50) NOT NULL,lastName VARCHAR(50) NOT NULL,middle VARCHAR(50) NOT NULL,ssn VARCHAR(12) NOT NULL,dob DATE NOT NULL,phone VARCHAR(10) NOT NULL,email VARCHAR(255) NOT NULL
)
为第二个表创建语句:“ ds”:
CREATE TABLE ds
(
dsu VARCHAR(50) NOT NULL,dsp VARCHAR(50) NOT NULL,dsImage VARCHAR(50) NOT NULL,dsid INT NOT NULL,Name nvarchar(50),CONSTRAINT PK_dsid
PRIMARY KEY NONCLUSTERED (dsid),CONSTRAINT FK_users_uid
FOREIGN KEY (dsid) REFERENCES users (uid)
ON DELETE CASCADE
ON UPDATE CASCADE
);
第一个表的uid
列将随着我插入的每个新行而自动递增。我想在每个新行中设置ds
表的dsid
列值,以自动更新以匹配users
表uid
列值。
当我尝试将INSERT INTO
的值放入ds
表中时:
INSERT INTO ds (dsu,dsp,dsImage)
VALUES ('john.smith','1234567','Tiger')
我收到以下错误:
515消息,第16级,状态2,第1行
无法将值NULL插入表'company.dbo.ds'的列'dsid'中;列不允许为空。 INSERT失败。
因此,我试图找出是否正确设置了主键和外键create语句以实现所需的结果,以及为什么会出现错误以及什至接近正确完成此任务/问题。
非常感谢您的帮助,谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)