Sqlite 建表语句

DRPrincess 2016-04-19 02:53:38
[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);

}
但是能正常使用.这是为什么呢?难道是默认了生成了一个主键????
...全文
227 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
辰时阳光 2016-04-21
  • 打赏
  • 举报
回复
主键可要可不要 但设了主键后主键不能为null
DRPrincess 2016-04-21
  • 打赏
  • 举报
回复
引用 1 楼 真的一滴血的回复:
是否定义主键 不影响使用啊,只是主键不能为null,一般都自增长的
我这个没定义主键,它不为null吗?
蓝海D鱼 2016-04-19
  • 打赏
  • 举报
回复
表可以不要主键的
真的一滴血 2016-04-19
  • 打赏
  • 举报
回复
是否定义主键 不影响使用啊,只是主键不能为null,一般都自增长的

80,472

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧