
tem="update
users
set
password=‘"+a4+"’,unit="+integer.valueof(a5)+"
where
userid="+integer.valueof(a3).intvalue()
tem应该是个字符串,要用单引号再用双引号拼接字符串
对于SQLite数据库而言有两个问题:
(1) 可以增加一列,但是该列只能是表的最后一列。
(2)不能删除一列。
如果想删除表A中的一列或者一行,首先通过SQL创建一个临时表,然后把表A中期望保留的数据存储到临时表中,然后把表A删除,再通过SQL的create语句创建表A,最后将临时表中的数据再复制回来
例1:在表coordinate中增加一列自动增长的id列。
BEGIN TRANSACTIONCREATE TEMPORARY TABLE ptemp(provinceID int, longitude double, latitude double)
INSERT INTO ptemp SELECT provinceID,longitude, latitude FROM coordinate
DROP TABLE coordinate
CREATE TABLE provincecoordinate(id INTEGER PRIMARY KEY AUTOINCREMENT, provinceID int, longitude double, latitude double)
INSERT INTO provincecoordinate(provinceID, longitude, latitude) SELECT provinceID, longitude, latitude FROM ptemp
DROP TABLE ptemp
COMMIT
例2:在表china中增加一列自动增长的id列。
BEGIN TRANSACTIONCREATE TEMPORARY TABLE ptemp(longitude double, latitude double)
INSERT INTO ptemp SELECT longitude, latitude FROM china
DROP TABLE china
CREATE TABLE china(id INTEGER PRIMARY KEY AUTOINCREMENT, longitude double, latitude double)
INSERT INTO china(longitude, latitude) SELECT longitude, latitude FROM ptemp
DROP TABLE ptemp
COMMIT
因为userid字段限定为不可为空,插入空数据,造成报错。
在数据库表中,查询新列的sql示例如下,
1、创建测试表,create table test_num(id number, fee number(10,3))
2、查看表的属性,共包含两列,ID、FEE,
3、执行sql语句,插入新字段,alter table test_num add (fee2 number(10,3))
4、重新查看表结构,字段已加上,
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)