sqlite 中
CREATE TABLE table1 (
id integer primary key autoincrement,
name text default '',
[index] integer default ROWID
)
有没有类似的功能,让 index 的值默认等于id,比如
insert into table1 (id,name) values (null,'第一行');
insert into table1 (id,name) values (null,'第二行');
我希望结果是
id name index
1 第一行 1
2 第二行 2
能实现吗?
引用 CREATE TABLE table1 ( id integer primary key autoincrement, name text default '', [index] integer ) trigger: Begin Transaction; Drop Trigger If Exists MAIN.[dd]; Create Trigger MAIN.[dd] AFTER INSERT On [table1b] FOR EACH ROW begin update table1b set 'index'=id where id=new.id ; end; Commit Transaction; insert into table1 (id,name) values (null,'第一行'); insert into table1 (id,name) values (null,'第二行'); 一定要用到触发器和存储过程吗?不能直接设置成默认值吗
呵呵,不能,测试了一下不行
引用 呵呵,不能,测试了一下不行 嗯,知道了,果然是不行的
测试可以这样 :
insert into table1c values (null,'第一行',(select rowid from table1c));
引用 引用 3 楼 wwwwb 的回复: 呵呵,不能,测试了一下不行 嗯,知道了,果然是不行的
相关问答:
偶想备份数据表,写了一个批处理,有现成的数据库。但是批处理写到一半不会了,还请帮忙看看,怎么往下。。。 @echo off echo 正在系统数据库备份,请稍 ......
我现在手头有这么一个问题,我想让一个操作sqlite3的程序在一个ARM板子上跑起来,板子上的os是wince5.0。 我是这么做的,我先从sqlite3主页下载源码下来,有这么3个文件:sqlite3.c、sqlite3.h、sqlite3ext.h , ......
大家好: 最近在wince下使用sqlite,但是由于表的内容量大,所以查询效率很低,不知道什么问题及怎么解决。 我的表的结构如下: name&nbs ......
在vs2005中引用了using System.Data.SQLite; 定义了一个连数据库连接变量public SQLiteConnection dBConn; 就报下面这个错误了. The type 'System.Data.Common.DbConnection' is defined in an ass ......
sqlite中有没有对于数据库大小进行管理的接口?比如,创建数据库的时候指定数据库大小,对数据库进行操作后察看该数据库剩余的可使用的空间大小等。最近看了一下sqlite的相关接口,网上也搜索了下,没有找到有用的资 ......