日期:2014-05-20  浏览次数:20741 次

关于Derby问题
请问一下如何在Derby中修改已经存在表中的主键ID为自动增长;

Java code


整型的自动增长表示 GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1)  
例:(ID INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1)
数据默认值表示 default   例:name varchar(10) not null default ''




如何用sql实现!谢谢!


--------------------------------
以下内容为自动编辑的内容,并非楼主的发贴内容,此仅用于显示而已,并无任何其他特殊作用
楼主【andy861025】截止到2008-08-04 16:37:45的历史汇总数据(不包括此帖):
发帖的总数量:19 发帖的总分数:1624 每贴平均分数:85  
回帖的总数量:220 得分贴总数量:119 回帖的得分率:54%  
结贴的总数量:19 结贴的总分数:1624  
无满意结贴数:3 无满意结贴分:90  
未结的帖子数:0 未结的总分数:0  
结贴的百分比:100.00% 结分的百分比:100.00%  
无满意结贴率:15.79 % 无满意结分率:5.54 %  
敬礼!
取消马甲机器人,请点这里:http://www.java2000.net/mycsdn/robotStop.jsp?usern=andy861025

------解决方案--------------------
没弄过

alert ...之类,行吗?
------解决方案--------------------
给你个官方网站,你查看一下你需要的
http://db.apache.org/derby/docs/dev/ref/
使用JDBC访问Derby数据库,需要org.apache.derby.jdbc.EmbeddedDriver,JDBC链接地址为jdbc:derby:testDB;create=true,其中testDB为数据库名,create=true这个选项若数据库不存在就创建该数据库。有了以上的参数通过JDBC API级可以链接到该数据库。

Class.forName("org.apache.derby.jdbc.EmbeddedDriver");


Connection conn = DriverManager.getConnection("jdbc:derby:testDB;create=true","",
""); 

在移植的过程中需要将user中id设置成为自增,如果需要将字段设置曾为自增字段可以采用在创建表时使用int generated by default as identity定义字段类型。示例如下

create table user(i int generated by default as identity, 

username varchar(100));


------解决方案--------------------
3楼的你给的连接似乎跟数据库Derby一点关系没有也,呵呵!

由于Derby也是Apache的子项目,在Apache的官方可以找到楼主想要的结果,格式应该是

ALERT TABLE table_name {
ALERT [COLUMN] column-name SET INCREMENT BY integer-constant 
}

我们项目中也用到了Derby,不过我们是用UUID来产生主键,没有试过自增长,而且感觉Derby的客户端ij也不是很好用,就自己做了一个Web页面的客户端