我創建一個觸發器,但得到這個錯誤:問題創造觸發
android.database.sqlite.SQLiteException: near "CREATE": syntax error: CREATE TRIGGER fk_item_place BEFORE INSERT ON CREATE TABLE Item_Place(PlaceIDfk INTEGER ,ItemID NTEGER , FOREIGN KEY (PlaceIDfk) REFERENCES Place_Table(Place_ID) ON DELETE CASCADE FOREIGN KEY (ItemID) REFERENCES ContentTable(ContentID)); FOR EACH ROW BEGIN SELECT CASE WHEN ((SELECT Place_ID FROM Place_Table WHERE Place_ID=new.PlaceIDfk) IS NULL) THEN RAISE (ABORT,'Foreign Key Violation') END ; END ;
我的代碼是這樣的:
db.execSQL("CREATE TRIGGER fk_item_place " +
" BEFORE INSERT "+
" ON "+ Item_places +
" FOR EACH ROW BEGIN "+
" SELECT CASE WHEN ((SELECT "+ PlaceID +" FROM "+ PlaceTable +" WHERE "+ PlaceID +"=new." + place_id + ") IS NULL)"+
" THEN RAISE (ABORT,'Foreign Key Violation') END ;" +
" END ;");
我在做什麼錯?
謝謝so0000000000000多我錯誤的表名實際上是** Item_place **和即時通訊所以dum代碼** ** Item_places ** –
@kshf_x您能否將馬特的回答標記爲正確答案? – JJD