私は、さまざまな個人情報を取り込んで、テニュアを確保する形で保存しているデータベースをコーディングしています。WHEN句の「そのような列はありません」
ジェンダー列を入力するためにデータベースに入力された南アフリカのID番号を使用しようとしています(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;
私はBirth_Dateの列を埋めるためのWHEN文でなく、このトリガーを使用して、それが正常に働いていました。この問題は、WHENのステートメントにあるようです。
私は、コマンドラインでのコーディングと私はこのようなCommunity_Registerテーブルに値を挿入しようとすると、それは私がトリガーを入力することができますが、:
INSERT INTO Community_Register(ID_Number) VALUES ('9512235193083');
私はこのエラーを取得する:
no such column: ID_Number