[size=18px]今天看到sqlite ,要用sql语句建立一张表,其中有这么个主键的字段[/size]
StringBuffer sqlBuffer = new StringBuffer();
sqlBuffer.append("CREATE TABLE IF NOT EXISTS ");
sqlBuffer.append(table.tableName);
sqlBuffer.append(" ( ");
if (id.isAutoIncrement()) {
sqlBuffer.append("\"").append(id.getColumnName()).append("\" ").append("INTEGER PRIMARY KEY AUTOINCREMENT,");
} else {
sqlBuffer.append("\"").append(id.getColumnName()).append("\" ").append(id.getColumnDbType()).append(" PRIMARY KEY,");
}
我记得刚学android 的时候做的项目中用到了sqlite,使用的建表语句,是没有主键的
/**
* 创建表
*/
@Override
public void onCreate(SQLiteDatabase db) {
String sql = " create table "+ APPFinal.TABLE_NAME +"("
+ APPFinal.F_MUSICNAME + " nvarchar(50),"
+ APPFinal.F_MUSICARTIST + " nvarchar(10),"
+ APPFinal.F_MUSICPATH + " nvarchar(100),"
+ APPFinal.F_MUSICALBUM + " nvarchar(150))";
db.execSQL(sql);
}
但是能正常使用.这是为什么呢?难道是默认了生成了一个主键????
StringBuffer sqlBuffer = new StringBuffer();
sqlBuffer.append("CREATE TABLE IF NOT EXISTS ");
sqlBuffer.append(table.tableName);
sqlBuffer.append(" ( ");
if (id.isAutoIncrement()) {
sqlBuffer.append("\"").append(id.getColumnName()).append("\" ").append("INTEGER PRIMARY KEY AUTOINCREMENT,");
} else {
sqlBuffer.append("\"").append(id.getColumnName()).append("\" ").append(id.getColumnDbType()).append(" PRIMARY KEY,");
}
我记得刚学android 的时候做的项目中用到了sqlite,使用的建表语句,是没有主键的
/**
* 创建表
*/
@Override
public void onCreate(SQLiteDatabase db) {
String sql = " create table "+ APPFinal.TABLE_NAME +"("
+ APPFinal.F_MUSICNAME + " nvarchar(50),"
+ APPFinal.F_MUSICARTIST + " nvarchar(10),"
+ APPFinal.F_MUSICPATH + " nvarchar(100),"
+ APPFinal.F_MUSICALBUM + " nvarchar(150))";
db.execSQL(sql);
}
但是能正常使用.这是为什么呢?难道是默认了生成了一个主键????