CREATE TABLE Accounts
(ID INTEGER IDENTITY(1,1) PRIMARY KEY);
CREATE TABLE Students
( ID INTEGER PRIMARY KEY , s_name VARCHAR(20) ,date_birth DATEtime,age AS (YEAR(CURRENT_TIMESTAMP) - YEAR(date_birth)) , school_id INTEGER ,
FOREIGN KEY(ID) REFERENCES Accounts(ID) ,
FOREIGN KEY(school_id) REFERENCES Schools(ID)
);
当我插入学生时:
INSERT INTO Students (s_name , date_birth , school_id )
VALUES ( 'nada' , 2/2/1993 , 1)
发生错误: 无法将 NULL 值插入表“myschool.dbo.Students”的“ID”列;列不允许为空。插入失败。
最佳答案
您没有为 Students.ID 列指定值。您可能希望将其设置为身份,与您为 Account.ID 列所做的操作相同:
ID INT IDENTITY (1,1) PRIMARY KEY
关于sql - 外主键插入(增量问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20621378/