如何批量修改数据库外联主键id的值?求解

如何批量修改数据库外联主键id的值?求解

我的思路是重新设置ccid的值,但报
查询:update course set ccid=‘2’ where coursename=‘英语’

错误代码: 1451
Cannot delete or update a parent row: a foreign key constraint fails (table.coursetime, CONSTRAINT fk_mid FOREIGN KEY (ccid) REFERENCES course (ccid))
错误

// An highlighted block
 private static SQLiteDatabase sId= SQLiteDatabase.openDatabase(
            "/data/data/com.example.tqkcb/mydb",        //数据库所在路径
            null,                                   //CunsorFactor
            SQLiteDatabase.OPEN_READWRITE| SQLiteDatabase.CREATE_IF_NECESSARY);
 public static void createCource(){         //创建或打开数据库中的course表
        try{
            sql="create table if not exists course"
                    +"("
                    +"ccid char(6)primary key,"
                    +"coursename varchar(20),"
                    +"cteacher varchar(20),"
                    +"place varchar(50)"
                    +");";
            sId.execSQL(sql);
        }catch (Exception e){   e.printStackTrace();
        }
    }
    public static void createCourceTime(){
        try{
            sql="create table if not exists coursetime"
                    +"("
                    +"ccid char(6),"
                    +"tid char(6)primary key,"
                    +"cnum varchar(20),"
                    +"cweek varchar(20),"
                    +"cweeks varchar(20),"
                    +"constraint fk_mid foreign key(ccid) references course(ccid)"
                    +");";
            sId.execSQL(sql);
        }catch (Exception e){e.printStackTrace();}
    } 
    /*删除单条数据name[]={coursename,cteacher,place,cnum,cweek,cweeks}
    如何更新数据库中的ccid的值*/
    protected static void DeleteCourse(String[] names){
        try{
            String couse_ccid=getCourseCCID(names[0]);
            sql="delete from coursetime where ccid='"+couse_ccid+"' ;";
            sId.execSQL(sql);
            sql="select ccid from coursetime where ccid>'"+couse_ccid+"';";
            sql=null;
            sql="delete from course where ccid='"+couse_ccid+"' ;";
            sId.execSQL(sql);

        }catch (Exception e){e.printStackTrace();}
    }           
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值