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值插入列「ID」,表「myschool.dbo。學生們';列不允許有空值。 INSERT失敗。
請檢查'學生'桌上是否有INSTEAD OF/AFTER觸發器。 –
你似乎在說ID是學生的主要關鍵,並引用accounts.id。這是你的意圖嗎?例如帳戶和學生之間的1 - 1關係? –
有趣的年齡定義。 2011年12月31日出生的人在一天後變成1歲。 –