我需要创建3个如下所示的表
学生(SID:CHAR(12),SNAME:VARCHAR(50),BDATE:日期,地址:VARCHAR(50),SCITY:VARCHAR(20),年份:CHAR(20),GPA:FLOAT)
公司(CID:CHAR(8),CNAME:VARCHAR(20))
应用(SID:CHAR(12),CID:CHAR(8))
(粗体属性为主键)
但是我不确定如何设置外键,因为例如,apply表的cid在apply表和company表中都是主键(apply表和student表之间的sid情况相同)。谢谢你的帮助。
以下是创建表的代码:
myQuery = "CREATE TABLE student "
+ "(sid CHAR(12), sname VARCHAR(50), "
+ "bdate DATE, address VARCHAR(50), "
+ "scity VARCHAR(20), year CHAR(20), "
+ "gpa FLOAT) ENGINE=InnoDB;";
myQuery = "CREATE TABLE company "
+ "(cid CHAR(8), cname VARCHAR(20), quota CHAR(8))ENGINE=InnoDB;";
myQuery = "CREATE TABLE apply "
+ "(sid CHAR(12), cid CHAR(8)) ENGINE=InnoDB;";
看起来apply
表是student
和company
之间的多对多联接。
在这种情况下,您需要像以前一样设置student
和company
(不过发布show CREATE TABLE student
的输出可能会得到更有帮助的答案)。因此,对于apply表,您需要两个外键:一个在SID
上,它引用student.sid
;另一个在CID
上,它引用company.cid
。可能是这样的:
ALTER TABLE apply ADD CONSTRAINT sid FOREIGN KEY (sid) REFERENCES student(sid);
ALTER TABLE apply ADD CONSTRAINT cid FOREIGN KEY (cid) REFERENCES copmany(cid);
编辑:根据您的表创建,您也没有设置主键。向希望作为主键的任何列添加主键
标识符。
问题内容: 我对将其放在何处感到困惑: 我没有扩展课程,但使用了 :D 问题答案: 最常见的放置方法是在您的静态void main(String [] args)方法内部。像这样: 有关更多信息,请访问以下站点:http : //docs.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
在我的活动中,我有一个listview和一个按钮。每一个都有各自的目的。 我的listview显示另一个活动中的项目详细信息。 问题是如何在相同的活动中为按钮实现onClickListener?
如果我继续尝试持久化这个实体,我将得到中持久化。 做这件事的正确方法是什么。可能是我理解的不对。
null 我希望使用标准的方法和spring的能力来自动配置bean,我不希望手动加载一些属性文件和手动配置所有bean。因此,为了解决这个问题,我创建了另一个配置应用程序--Customization.yml,并通过include将其链接到prod config中(参见上面的示例)。在这里我遇到了一个问题:我无法通过命令行参数(-dspring.config.location或任何it变体)选择
我有这个型号 而我有这个方法 但是hibernate没有设置实际地址id和注册地址id(它是OneTONE) Hibernate:插入客户(名字、姓氏、中间名、性别)值(?、、?、?)2021-03-18 14:01:58.340警告12836---[nio-8080-exec-1]o.h.发动机。jdbc。spi。SqlExceptionHelper:SQL错误:0,SQLState:23502
问题内容: 我有类似下表的内容: 我需要一个查询,它会给我这样的结果: 请注意,FieldName中的值不限于用户名,密码和电子邮件地址。它们可以是用户定义的任何东西。 有没有办法在SQL中做到这一点? 问题答案: MySQL不支持ANSI PIVOT / UNPIVOT语法,因此您可以使用: 如您所见,需要按值定义CASE语句。要使其动态化,您需要使用MySQL的Prepared Stateme