测试Android Sqlite外键约束功能的代码

        this.deleteDatabase("Db");
        SQLiteDatabase db = this.openOrCreateDatabase("Db", MODE_PRIVATE, null);
        
        db.execSQL("PRAGMA foreign_keys = ON;");
        db.execSQL("CREATE TABLE class (id INTEGER PRIMARY KEY, name VARCHAR, data TEXT)");
        db.execSQL("INSERT INTO class (id, name, data) VALUES (1, '初一', '班主任:王老师')");
        db.execSQL("INSERT INTO class (id, name) VALUES (2, '初二')");
        db.execSQL("INSERT INTO class (id, name) VALUES (3, '初三')");
        
        db.execSQL("CREATE TABLE student (id INTEGER PRIMARY KEY, name VARCHAR, data TEXT, class_id INTEGER, FOREIGN KEY (class_id) REFERENCES class(id))");
        db.execSQL("INSERT INTO student (id, name, class_id) VALUES (1, '张明一', 3)");
        db.execSQL("INSERT INTO student (id, name) VALUES (2, '张明二')");
        db.execSQL("INSERT INTO student (id, name) VALUES (3, '张明三')");
        
        db.close();
        
        db = this.openOrCreateDatabase("Db", MODE_PRIVATE, null);
        Cursor cursor = db.rawQuery("SELECT * FROM student WHERE id=?", new String[]{"2"});
        if(cursor.getCount()!=0){
        cursor.moveToFirst();
        int i = cursor.getInt(0);
        String s = cursor.getString(1);
        String s2 = cursor.getString(2);
        int i2 = cursor.getInt(3);
        Log.d("Tag", s + ":" + i + ":" + s2);
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值