Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 创建触发器时遇到的问题_Android_Sqlite - Fatal编程技术网

Android 创建触发器时遇到的问题

Android 创建触发器时遇到的问题,android,sqlite,Android,Sqlite,我正在创建触发器,但出现以下错误: android.database.sqlite.SQLiteException:near CREATE:syntax error:CREATE TRIGGER fk\u item\u place在插入之前创建表项\u PlaceIDfk INTEGER、ItemID NTEGER、外键PlaceIDfk REFERENCES place\u TablePlace\u ID ON DELETE CASCADE外键ItemID REFERENCES Content

我正在创建触发器,但出现以下错误:

android.database.sqlite.SQLiteException:near CREATE:syntax error:CREATE TRIGGER fk\u item\u place在插入之前创建表项\u PlaceIDfk INTEGER、ItemID NTEGER、外键PlaceIDfk REFERENCES place\u TablePlace\u ID ON DELETE CASCADE外键ItemID REFERENCES ContentTableContentID;对于每一行,从Place_ID=new的Place_表中选择Place_ID时开始选择CASE。PlaceIDfk为空,然后引发中止,“外键冲突”结束;结束

我的代码是:

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 ;");

我做错了什么?

不能使用创建表触发器。确保Item\u places是表名,而不是DDL。

谢谢你,so0000000000000我错了,表名实际上是Item\u places,所以我将其编码为Item_places@kshf_x你能把Mat的答案标为正确答案吗?!