|
"Error: foreign key mismatch" при попытку удаления всей данных таблицы
|
|||
---|---|---|---|
#18+
Добрый вечер, помогите понять поведение SQLite, сборка стандартная, вот лог: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33.
т.е. при включенных внешних ключах запрос вида delete from <tablename>; не выполняется несмотря на то, что ссылок на удаляемые данные нет. сам текст комманд чтобы проверить по-быстрому: create table t1(i int not null primary key, v varchar(100)); create table t2(i int not null primary key, f_i references t1(id)); select * from t1; select * from t2; insert into t1(i, v) values(1, 'test'); select * from t1 where i = 1; delete from t1; drop table t1; drop table t2; pragma foreign_keys = ON; create table t1(i int not null primary key, v varchar(100)); create table t2(i int not null primary key, f_i references t1(id)); insert into t1(i, v) values(1, 'test'); select * from t1; select * from t2; select * from t1 where i = 1; ------- What wrong? delete from t1; delete from t1 where i = 1; ------- drop table t2; delete from t1; ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2012, 23:40 |
|
"Error: foreign key mismatch" при попытку удаления всей данных таблицы
|
|||
---|---|---|---|
#18+
Прошу прощения, как всегда виноват сам: f_i references t1(i) вместо f_i references t1(id) имя столбца не совпадало. В заблуждение ввело сообщение об ошибке. модераторов прошу удалить тему чтобы не засорять форум. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2012, 23:59 |
|
|
start [/forum/topic.php?fid=54&fpage=20&tid=2009077]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
70ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
others: | 293ms |
total: | 450ms |
0 / 0 |