我来自MySQL世界,请帮助。
是否可以在JavaDB中从NetBeans IDE创建自动增量密钥?
您是否使用了一些更高级的数据库客户端?
感谢。
答案 0 :(得分:65)
这可能会对您有所帮助:
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
BTW! - 有一种方法可以在ide界面中完成 转到服务窗口, 扩展您的连接, 扩展您的项目名称, 扩展表, 右键单击索引并选择添加索引...其余的过程真的说明了......
答案 1 :(得分:12)
答案 2 :(得分:9)
在这里找到了一种在netbeans 8.0.1中设置自动增量的方法on StackoOverflow 屏幕截图如下:
答案 3 :(得分:2)
我无法使用Netbeans IDE“创建表格”GUI获得已接受的答案,而且我使用的是Netbeans 8.2。要使其工作,请使用以下选项创建id列,例如
然后使用'来自数据库的新实体类'选项为表生成实体(我创建了一个名为PERSON的简单表,其中ID列完全按照上面的方式创建,NAME列是简单的varchar(255)列) 。这些生成的实体将它留给用户添加自动生成的id机制。
GENERATION.AUTO似乎尝试使用Derby似乎不喜欢的序列(错误说明未能生成序列/序列不存在),GENERATION.SEQUENCE因此也不起作用,GENERATION.IDENTITY不会work(获取错误说明ID为null),因此离开GENERATION.TABLE。
将持久性单元的“表格生成策略”按钮设置为“创建”。这将创建在运行jar(加载?)时数据库中不存在的表,即PU需要创建的表以存储ID增量。在您的实体中,使用以下内容替换您的id字段上方生成的注释...
我还使用'来自实体类的JPA控制器类'选项为我的实体类创建了一个控制器。然后我创建一个简单的主类来测试id是自动生成的,即
结果是正确生成了PERSON_ID_TABLE,并且我的PERSON表中有两个PERSON条目,其中包含正确的自动生成的ID。
答案 4 :(得分:1)
现在不可能在Netbeans 7.0.1上。用于在表上创建列的GUI工具非常有限,并且不存在提供该功能的插件。
答案 5 :(得分:0)
如果要使用Netbeans定义表,请阅读此https://codezone4.wordpress.com/2012/06/19/java-database-application-using-javadb-part-1/只需将列定义为整数并创建数据库,然后将结构抓取到临时文件,然后删除表。右键单击表文件夹并选择重新创建表,选择保存的文件并编辑脚本以自动增量。
答案 6 :(得分:0)
瞧!!