Guest User

foreign key mismatch

a guest
Jul 13th, 2025
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.45 KB | None | 0 0
  1. In [1]: import sqlite3
  2.  
  3. In [2]: conn = sqlite3.connect('sweigartcats.db', isolation_level=None)
  4.  
  5. In [3]: conn.execute('PRAGMA foreign_keys = ON')
  6. Out[3]: <sqlite3.Cursor at 0x13faddb6c40>
  7.  
  8. In [4]: conn.execute('CREATE TABLE IF NOT EXISTS vaccinations (vaccine TEXT,
  9. ...: date_administered TEXT, administered_by TEXT, cat_id INTEGER,
  10. ...: FOREIGN KEY(cat_id) REFERENCES cats(rowid)) STRICT')
  11. Cell In[4], line 1
  12. conn.execute('CREATE TABLE IF NOT EXISTS vaccinations (vaccine TEXT,
  13. ^
  14. SyntaxError: unterminated string literal (detected at line 1)
  15.  
  16.  
  17. In [5]: conn.execute('CREATE TABLE IF NOT EXISTS vaccinations (vaccine TEXT, date_administered TEXT, administered_by TEXT, cat_id INTEGER, FOREIGN KEY(cat_id) REFERENCES cats(rowid)) STRICT')
  18. Out[5]: <sqlite3.Cursor at 0x13faddb7b40>
  19.  
  20. In [6]: conn.execute('INSERT INTO vaccinations VALUES ("rabies", "2023-06-06", "Dr. Echo", 1)')
  21. ---------------------------------------------------------------------------
  22. OperationalError Traceback (most recent call last)
  23. Cell In[6], line 1
  24. ----> 1 conn.execute('INSERT INTO vaccinations VALUES ("rabies", "2023-06-06", "Dr. Echo", 1)')
  25.  
  26. OperationalError: foreign key mismatch - "vaccinations" referencing "cats"
  27.  
  28. In [7]: print(conn.execute("SELECT sql FROM sqlite_master WHERE type='table' AND name='cats'").fetchone()[0])
  29. CREATE TABLE cats (name TEXT NOT NULL, birthdate TEXT, fur TEXT, weight_kg REAL) STRICT
  30.  
  31. In [8]:
Advertisement
Add Comment
Please, Sign In to add comment