Tag: raspbian

SQLite3“忘记”使用外键

我正在使用Ruby和SQLite3,但我在Sqlite3中使用外键的尝试很不幸。 根据sqlite3 –version ,安装了3.7.13版。 据我所知,自3.6.x版以来,Sqlite3支持外键。 我知道默认情况下外键被禁用,必须使用PRAGMA foreign_keys = ON;激活PRAGMA foreign_keys = ON; 。 在我的Ruby db-create-script中,我正在做这样的事情: sql = <<-SQL PRAGMA foreign_keys = ON; CREATE TABLE apps ( id …. ); CREATE TABLE requests ( … app_id INTEGER NOT NULL, FOREIGN KEY(app_id) REFERENCES apps(id), ); … SQL db.execute_batch(sql) 不幸的是,我可以愉快地将行插入到具有未知app-id的requests ,它可以工作,但当然不应该。 有意思:直接使用sqlite3 shell,我可以观察到以下行为: $ sqlite3 database.db sqlite> PRAGMA […]