贴出代码求大神解答
String databaseFilename = DATABASE_PATH + "/" + DATABASE_FILENAME;
db = SQLiteDatabase.openOrCreateDatabase(databaseFilename, null);
db.execSQL("DROP TABLE IF EXISTS minfo");
db.execSQL("CREATE TABLE minfo (id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR, age SMALLINT, SingerName VARCHAR ,WordNum SMALLINT,ver SMALLINT,PyCode SMALLINT,Stroke SMALLINT,SingerName1 VARCHAR,SingerName2 VARCHAR,FileName SMALLINT,Lang VARCHAR,SongTypeID SMALLINT,SingerID1 SMALLINT,SingerID2 SMALLINT,MType SMALLINT,yTrack SMALLINT,bTrack SMALLINT,yVolume SMALLINT,bVolume SMALLINT,NewSong SMALLINT,style SMALLINT,SongNameSpell VARCHAR,SongNameSpell1 VARCHAR,SongNameSpell2 VARCHAR)");
final ContentValues cv1 = new ContentValues();
cv1.put("name", "aaaa");
// cv1.put("WordNum", "6");
cv1.put("ver", 6);
cv1.put("age", "24");
// cv1.put("PyCode", "KD");
cv1.put("Stroke", 4);
cv1.put("SingerName1", "lb");
cv1.put("SingerName2", "ja");
cv1.put("Lang", "0");
cv1.put("FileName", "3");
cv1.put("SongTypeID", 1);
cv1.put("SingerID1", 123);
cv1.put("SingerID2", 321);
cv1.put("MType", 1);
cv1.put("yTrack", 1);
cv1.put("bTrack", 1);
cv1.put("yVolume", 99);
cv1.put("bVolume", 93);
cv1.put("NewSong", 1);
cv1.put("style", 9);
cv1.put("SongNameSpell", "aaa");
cv1.put("SongNameSpell1", "bbb");
cv1.put("SongNameSpell2", "ccc");
db.insert("minfo", null, cv1);
ContentValues cv2 = new ContentValues();
cv2.put("ver", 6);
cv2.put("name", "ooom");
db.insert("minfo", null, cv2);
ContentValues cv3 = new ContentValues();
cv3.put("ver", 40);
cv3.put("name", "ognm");
db.insert("minfo", null, cv3);
ContentValues cv4 = new ContentValues();
cv4.put("ver", 22);
cv4.put("name", "fake");
db.insert("minfo", null, cv4);
这是我创建的数据库插入的数据 然后
new Thread(new Runnable() {
@Override
public void run() {
// db.delete("minfo", null, null);
db.execSQL("INSERT INTO minfo SELECT * FROM info ");
// db.execSQL("CREATE TABLE minfo as SELECT * FROM info ");
Cursor c = db.rawQuery("SELECT * FROM minfo", null);
while (c.moveToNext()) {
String w = c.getString(c.getColumnIndex("WordNum"));
String p = c.getString(c.getColumnIndex("PyCode"));
String songname = c.getString(c.getColumnIndex("name"));
int id = c.getInt(c.getColumnIndex("id"));
int ver = c.getInt(c.getColumnIndex("ver"));
Log.i("本地数据库info表中的数 ", "id=" + id + ",name=" + songname + ",ver=" + ver + ",WordNum" + w + ",PyCode=" + p);
}
}
}).start();
想向minfo表中插入数据 然后报错 android.database.sqlite.SQLiteConstraintException: PRIMARY KEY must be unique (code 19)
是什么意思 我的info表的结构是
id=1,name=1111xxx,ver=132
id=5,name=xx,ver=23
请问这是什么原因造成的啊。。要怎样修改呢???