java - 在 Java db (Netbeans) 中创建外键

标签 java sql javadb

我一直在通过 Netbeans 在 Java Db 中创建外键时遇到问题。我很确定我必须使用 SQL 命令将 PLAYERS 表中的属性更改为外键,因为我只能通过界面指定主键。我试过执行这个命令:

ALTER TABLE PLAYERS ADD CONSTRAINT TEAMNUM_FK
Foreign Key (TEAMNUM) REFERENCES TEAM (TEAMNUM);

应该将 PLAYERS 表中的 TEAMNUM 添加/更改为与 TEAM 表中的主键相关的外键,以便 TEAMNUM 在两个表中保持一致,但它给出了错误:

Error code -1, SQL state X0Y44: Constraint 'TEAMNUM_FK' is invalid: there is no unique or primary key constraint on table '"APP"."TEAM"' that matches the number and types of the columns in the foreign key. Line 1, column 1

如果有人能提供帮助那就太好了。谢谢。

最佳答案

错误信息很清楚:

没有为表 TEAM 定义主键,或者 PK 由不同的列组成,而不仅仅是 (teamnum)teamnum 的数据类型PLAYERS 中的 列与表 team 中的 teamnum 列的数据类型不匹配。

正如您展示的表定义,我无法判断错误消息解释的三种备选方案中的哪一种与您的情况相关。

关于java - 在 Java db (Netbeans) 中创建外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8918904/

相关文章:

java - java默认支持哪些数据库

java - 表列名称 - NetBeans IDE

java - 在 Scala 上进行单元测试时未找到测试类

Java FX : Unable to open popup from different FX thread

mysql - 如何使用连接表进行一选二查询

mysql - SQL 查询以连接结果中的列

javaFx标签wrapText不起作用

java - 如何基于默认的android PageView制作可滚动 fragment

php - 如何连接两个表以获取共同值

java - Java 6 中包含 Derby/Java DB 吗?