使用 NetBeans IDE 在 Java DB 中创建自动增量键
Posted
技术标签:
【中文标题】使用 NetBeans IDE 在 Java DB 中创建自动增量键【英文标题】:Create autoincrement key in Java DB using NetBeans IDE 【发布时间】:2011-03-19 12:14:46 【问题描述】:我来自 mysql 世界,请帮忙。
是否可以在 JavaDB 中从 NetBeans IDE 创建自动增量键?
你使用一些更高级的数据库客户端吗?
谢谢。
【问题讨论】:
【参考方案1】:如果你看这个网址:http://java.sun.com/developer/technicalArticles/J2SE/Desktop/javadb/
这部分架构可能就是您要查找的内容。
ID INTEGER NOT NULL
PRIMARY KEY GENERATED ALWAYS AS IDENTITY
(START WITH 1, INCREMENT BY 1),
【讨论】:
谢谢。是的,但我不需要 IDE 来做到这一点。如果我使用 IDE 并且它是 gui 工具,我希望能够从界面中做到这一点。如果我最终从纯 SQL 创建表,那我为什么要使用 netbeans?我还是 derby 语法的初学者:P 但是,我只是展示了您可以为 JavaDB 创建自动生成的密钥,但正如您所提到的,您将在 SQL 中自己创建架构。 谢谢。但我知道,我只是无法从 netbeans 中看到这样做的方法。将尝试使用 alter table...【参考方案2】:这可能会对您有所帮助:
CREATE TABLE "custinf"
(
"CUST_ID" INT not null primary key
GENERATED ALWAYS AS IDENTITY
(START WITH 1, INCREMENT BY 1),
"FNAME" VARCHAR(50),
"LNAME" VARCHAR(50),
"ADDR" VARCHAR(100),
"SUBURB" VARCHAR(20),
"PCODE" INTEGER,
"PHONE" INTEGER,
"MOB" INTEGER,
"EMAIL" VARCHAR(100),
"COMM" VARCHAR(450)
);
这就是我如何让我的工作......年龄让该死的东西真正理解我,但这就是代码的本质:D
顺便说一句!- 在 ide 界面中有一种方法可以做到这一点 转到服务窗口, 扩大你的联系, 扩展您的项目名称, 展开表格, 右键单击索引并选择添加索引...其余的过程不言自明...
【讨论】:
为我工作,谢谢!我不知道他们为什么决定像那样用英语写出所有的东西。我正在尝试在其他地方使用的“IDENTITY (1,1)”,但没想到它周围会有那么多多余的废话。 好东西。仅当我保留列名 UPPERCASE 时,它才对我有用。 为什么这不是选择的答案? :C【参考方案3】:现在不可能,在 Netbeans 7.0.1 上。在表上创建列的 GUI 工具非常有限,并且不存在提供该功能的插件。
【讨论】:
你真的确定吗?我是 3 个月前做的,今天我忘了我是怎么做到的 lolz 你是用 7.0.1 版本做的吗?如果你这样做会很有用,你可以回答解释你是如何做到的问题。我想这可以用较新版本的 Netbeans 来完成。 他在这里做的:***.com/questions/14316187/… 不过我不知道这是否是德比特有的。【参考方案4】:如果你想使用 Netbeans 定义表,请阅读 https://codezone4.wordpress.com/2012/06/19/java-database-application-using-javadb-part-1/ 只需将列定义为整数并创建数据库,然后将结构抓取到临时文件,然后删除表。右键单击表文件夹并选择重新创建表,选择保存的文件并编辑脚本以进行自动增量。
【讨论】:
【参考方案5】:在这里on StackoOverflow找到了一种在netbeans 8.0.1中设置自动增量的方法@ 截图如下:
【讨论】:
发布问题时的版本不可能。现在是,所以接受的答案。谢谢。【参考方案6】:我无法使用 Netbeans IDE“创建表”GUI 获得公认的答案,而我使用的是 Netbeans 8.2。要使其正常工作,请使用以下选项创建 id 列,例如
然后使用“来自数据库的新实体类”选项为表生成实体(我创建了一个名为 PERSON 的简单表,其中的 ID 列与上面完全一样创建,NAME 列是简单的 varchar(255) 列) .这些生成的实体留给用户添加自动生成的 id 机制。
GENERATION.AUTO 似乎尝试使用 Derby 似乎不喜欢的序列(错误说明无法生成序列/序列不存在),因此 GENERATION.SEQUENCE 也不起作用,GENERATION.IDENTITY 不起作用工作(得到错误说明 ID 为空),所以留下 GENERATION.TABLE。
将持久性单元的“表生成策略”按钮设置为创建。当您的 jar 运行(加载?)时,这将创建数据库中不存在的表,即您的 PU 需要创建的表以存储 ID 增量。在您的实体中,将 id 字段上方生成的注释替换为以下内容...
我还使用“来自实体类的 JPA 控制器类”选项为我的实体类创建了一个控制器。然后我创建一个简单的主类来测试 id 是自动生成的,即
结果是正确生成了 PERSON_ID_TABLE,并且我的 PERSON 表中有两个 PERSON 条目,其中包含正确的自动生成的 ID。
【讨论】:
【参考方案7】:-
使用界面在表格中添加新列
填写列名并填写其他信息
在勾选字段中,不要取消勾选,在里面写上“INCREMENT BY 1”。
瞧!!
【讨论】:
以上是关于使用 NetBeans IDE 在 Java DB 中创建自动增量键的主要内容,如果未能解决你的问题,请参考以下文章
NetBeans IDE 与 NetBeans Platform有啥区别
无法在 Netbeans 7.2 IDE 上运行 Play Framework 项目
高分100,一个简单问题,JAVA集成环境NetBeans IDE 各个文件夹都是干啥的?