Найти - Пользователи
Полная версия: sqlite3 Python3 Внешние ключи
Начало » Базы данных » sqlite3 Python3 Внешние ключи
1
zloymih
1. Как узнать версию sqlite, идущую с Python.
2. Есть ли возможность, включить из Python поддержку внешних ключей в sqlite3. Как написано тут: http://www.sqlite.org/foreignkeys.html#fk_enable

Вообщем скачал последнюю sqlite.dll.
 
conn = sqlite3.connect(database, detect_types=sqlite3.PARSE_DECLTYPES)
c = conn.cursor()

c.execute('PRAGMA foreign_keys;')
for row in c:
print(row[0])

c.execute('PRAGMA foreign_keys = ON;')
conn.commit()

c.execute('PRAGMA foreign_keys;')
for row in c:
print(row[0])

c.execute('delete from table1')
conn.commit()

conn.close()
В результате получил сообщение
sqlite3.IntegrityError: foreign key constraint failed
Есть какие-нибудь подводные камни?
Александр Кошелев
А что вы делаете? Какие таблицы? В какой момент возникает ошибка?
zloymih
Извиняюсь, эту ошибку я специально вызвал. Я просто хотел показать, что внешние ключи у меня заработали. Но я опасаюсь багов после замены библиотеки.

CREATE TABLE table1 ("id" INTEGER PRIMARY KEY  AUTOINCREMENT  NOT NULL , col1 TEXT );
CREATE TABLE table2 ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL , FK_test INTEGER REFERENCES table1(id), col2 TEXT );
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB