sqlite alter table添加多列
16lz
2021-01-25
最近在做Android数据库数据维护,新版本要在原有的表的基础上新增三个列。查询标准SQL语法,最初的执行语句如下:
1 2 3 | String ADD_COLUMNS = "ALTER TABLE mytable ADD (source INTEGER DEFAULT 0, time TEXT, dura TEXT)" ; this .execQuery(ADD_COLUMNS); |
在执行这条语句的时候,程序崩溃,崩溃信息如下:
SQLiteException on:near "(":syntax error(code 1): while compiling:ALTER TABLE mytable ADD (source INTEGER DEFAULT 0, time TEXT, dura TEXT)
把在括号(有语法错误,那我就把括号去掉,执行语句换成:
1 2 3 | String ADD_COLUMNS = "ALTER TABLE mytable ADD source INTEGER DEFAULT 0, time TEXT, dura TEXT" ; this .execQuery(ADD_COLUMNS); |
程序崩溃依旧,崩溃信息如下:
SQLiteException on:near ",":syntax error(code 1): while compiling:ALTER TABLE mytable ADD (source INTEGER DEFAULT 0, time TEXT, dura TEXT)
逗号附近有语法错误。
那么在SQLite中如何使用alter命令添加多列呢?
不要挣扎了,SQLite的alter不支持添加多列,一列一列来吧:
1 2 3 4 5 6 7 | String ADD_COLUMNS_SOURCE = "ALTER TABLE mytable ADD source INTEGER DEFAULT 0" ; String ADD_COLUMNS_TIME = "ALTER TABLE mytable ADD time TEXT" ; String ADD_COLUMNS_DURA = "ALTER TABLE mytable ADD dura TEXT" ; this .execQuery(ADD_COLUMNS_SOURCE); this .execQuery(ADD_COLUMNS_TIME); this .execQuery(ADD_COLUMNS_DURA); |
下面是SQLite提供的alter语法:
更多参考:http://www.sqlite.org/lang_altertable.html
更多相关文章
- Android学习记录:界面设计
- Android项目命名规范
- Android(安卓)模糊搜索rawquery bind or column index out of ra
- android页面切换仿iphone从右往左
- Received status code 400 from server: Bad Request
- android studio中android.support.v7.widget.RecyclerView;包找
- sqlite3 常用命令 for android
- android contentprovider 查询时候使用limit限定
- Smali语法基础知识