android sqlite中在同一个数据库中建两个表的问题

来源:互联网 发布:互联网大数据 编辑:程序博客网 时间:2024/05/16 07:26

当sqlite中创建两个表,如photo和text

  sql1 = "create table IF NOT EXISTS photo_text(_id integer primary key  autoincrement ,"
    + "photo varchar(255)," + "text varchar(255));";
  db.execSQL(sql1);
  sql2 = "create table IF NOT EXISTS text(_id integer primary key  autoincrement ,"
    + "text_id varchar(255) ," + "text varchar(255));";
  db.execSQL(sql2);

这样是正确的

 

  sql1 = "create table IF NOT EXISTS photo_text( "photo varchar(255) primary key," + "text varchar(255));";
  db.execSQL(sql1);
  sql2 = "create table IF NOT EXISTS text( "id varchar(255) primary key ," + "text varchar(255));";
  db.execSQL(sql2);

我之前大概就是是这么写的,出错了,查了资料神马的,知道数据库本身有个id并且会自动增加,

可是我的第一个表可以用,但是第二个表只能用一次,应该是第二次插入数据的话第二个表

(text表)认为插入id会重复,嗯,它吧我这个id当他自己的了,并且我也没设定成自动增加

神马的,所以它不会自增。然后我就改成上面那个正确的形式了,但是Log cat又提示我说

依然是前面的错误,所以我认为应该是原先的数据库中text表已经存在,所以没执行创建表的

语句,然后我在adb指令和sqlite指令下删除了text表,然后运行。。。问题就来了,表竟然不

自动创建,提示的错误时:no such table “text”。。。我很震惊,然后摆弄了一下,把数据库

全删了,嗯,我的是mydb.db。。。。。然后再执行,成功了!!

原创粉丝点击