0
我正在編寫一個數據庫,該數據庫接受各種個人詳細信息並將其存儲爲保證終身制的形式。WHEN子句中的「no such column」
我想使用輸入到數據庫中的南非身份證號碼填充性別列(ID號中的第7位數字表示性別,0-4表示女性,5-9表示男性)
我試圖使用SUBSTR函數來隔離第7個字母,但是這個工作,但是,當我嘗試使用它作爲WHEN語句的一部分,同時編寫執行填充性別列時發生的觸發器一個值被插入ID號列,我得到一個錯誤。
的代碼如下:
CREATE TABLE Community_Register (ID_Number TEXT CHECK (length(ID_Number)=13))
CREATE TABLE Occupant (ID_Number TEXT, Birth_Date TEXT, Gender TEXT)
CREATE TRIGGER insert_details AFTER INSERT ON Community_Register
WHEN ((substr(ID_Number,7,1)) = '5')
BEGIN
INSERT INTO Occupant (ID_Number, Birth_Date, Gender)
VALUES (NEW.ID_Number, substr(NEW.ID_Number,1,6), 'Male');
END;
我已經使用這個不觸發WHEN語句用於填充birth_date列,它成功合作。這個問題似乎與WHEN聲明有關。
我編碼在命令行中,它可以讓我進入觸發器,但是當我嘗試插入值到Community_Register表是這樣的:
INSERT INTO Community_Register(ID_Number) VALUES ('9512235193083');
我得到這個錯誤:
no such column: ID_Number