Я создаю таблицы в своем приложении для Android. Я хочу, чтобы записи этой таблицы фотографий были удалены, когда запись заказа на доставку удалена.Синтаксическая ошибка Android SQLite во внешнем ключе на каскаде
Этот SQL работает, но не включает в себя ограничение:
Фото Стол:
CREATE TABLE photos (
_id INTEGER PRIMARY KEY,
orderid INTEGER ,
uri TEXT ,
datetime TEXT ,
lattitude REAL ,
longitude REAL ,
FOREIGN KEY (orderid)
REFERENCES deliveryorder (_id))
, но когда я добавить ограничение, я получаю ошибку синтаксиса "возле КАСКАД"
Фото стол:
CREATE TABLE photos (
_id INTEGER PRIMARY KEY,
orderid INTEGER ,
uri TEXT ,
datetime TEXT ,
lattitude REAL ,
longitude REAL ,
FOREIGN KEY (orderid) REFERENCES deliveryorder (_id) ON DELETE CASCASDE )
Вот сообщение об ошибке:
06-10 11:09:55.944: E/AndroidRuntime(26269): java.lang.RuntimeException:
Unable to start activity
ComponentInfo{com.pbs.deliverytrack1/com.pbs.deliverytrack1.MainActivity}:
android.database.sqlite.SQLiteException: near "CASCASDE":
syntax error (code 1): , while compiling:
CREATE TABLE photos (_id INTEGER PRIMARY KEY, orderid INTEGER , uri TEXT , datetime TEXT , lattitude REAL , longitude REAL , FOREIGN KEY (orderid) REFERENCES deliveryorder (_id) ON DELETE CASCASDE )
Я искал ответы, которые, как представляется, связаны друг с другом, но я не могу найти тот, который решает эту проблему. Я знаю, что это, наверное, что-то простое, но у меня нет большого опыта работы с SQL.
Я включаю внешние ключи с прагмой. Я использую прагму и в onCreate и в onOpen.
Версия базы данных такова, что поставляется с пряниками, поэтому все это должно поддерживаться.
Очевидно, что я делаю что-то глупое, но не могу понять это.
Заранее благодарю вас за помощь.
Я считаю, что sqlite3 (базовый движок) поддерживает синтаксис, но не имеет реализации для ссылочной целостности, и что для его работы вы также должны добавить триггеры в свою базу данных и выполнить каскадирование внутри них. – mah
В соответствии с документацией, которую я нашел, поддерживаются внешние ключи. Я могу использовать триггеры, но, если это возможно, предпочтет более аккуратное решение. Документы находятся здесь: http://www.sqlite.org/foreignkeys.html – Rben