面试题答案
一键面试- 创建
users
表的SQL语句:
CREATE TABLE users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT,
age INTEGER
);
- 创建
orders
表的SQL语句:
CREATE TABLE orders (
order_id INTEGER PRIMARY KEY AUTOINCREMENT,
user_id INTEGER,
order_amount REAL,
FOREIGN KEY (user_id) REFERENCES users(id)
);
- 确保外键约束生效:
在Android中,默认情况下SQLite的外键约束是不生效的。要确保外键约束生效,需要在获取SQLiteDatabase实例后,调用
setForeignKeyConstraintsEnabled(true)
方法。示例代码如下:
SQLiteOpenHelper helper = new MyDatabaseHelper(context, "my.db", null, 1);
SQLiteDatabase db = helper.getWritableDatabase();
db.setForeignKeyConstraintsEnabled(true);
其中MyDatabaseHelper
是继承自SQLiteOpenHelper
的自定义帮助类。这样设置后,数据库操作就会遵循外键约束规则。