我是学习SQL语法的新手,并在一本书中遇到了这个例子。我理解需要外键并使用约束函数将键设置为另一个创建的表(在本例中为EMPLOYEE_TBL)。
我的问题是为什么它列出了行CONSTRAINT EMP_ID_FK FOREIGN KEY (EMP_ID)
。 EMP_ID_FK
部分究竟是什么?由于您只需要使用CONSTRAINT函数将子表上的字段设置为父表,您不能只将其写为CONSTRAINT FOREIGN KEY (EMP_ID) REFERENCES EMPLOYEE_TBL (EMP_ID));
吗?
我是否理解错误?任何帮助,将不胜感激。谢谢!
CREATE TABLE EMPLOYEE_PAY_TBL
(EMP_ID CHAR(9) NOT NULL,
DATE_HIRE DATE NULL,
DATE_LAST_RAISE DATE NULL,
CONSTRAINT EMP_ID_FK FOREIGN KEY (EMP_ID) REFERENCES EMPLOYEE_TBL (EMP_ID));
答案 0 :(得分:1)
条款jQuery("#rest-form").submit(function(e){
//The following stops the form from redirecting
e.preventDefault();
jQuery("#rest-form").ajaxSubmit({
type: 'GET',
url: jQuery('#rest-form').attr('action'),
data: jQuery('#rest-form').serialize(),
success: function (data) {
//The data variable will contain the response data
//if it's successful, you can no redirect wherever you want
window.location.href = "http://www.example.com";
}
});
});
只是为约束命名。如果要禁用或删除约束,稍后需要这样做。你是正确的,名称(CONSTRAINT EMP_ID_FK
)是可选的;如果省略它,你也可以省略EMP_ID_FK
关键字,因为CONSTRAINT
条足以告诉翻译你想要什么。
命名你的约束是完全可选的,但是对于纪录片来说被认为是好的做法,如果我说,你以后需要对约束做些什么。如果省略名称,数据库将自动为您命名约束,但祝您找到该名称是好的。
答案 1 :(得分:0)
就这样说。
表1必须引用表2.表2的主键ID是唯一值,这意味着可以使用此ID访问它,因为它在此表的所有行中都是唯一的。现在表1需要引用该ID。您需要将该ID存储在表1中,以便您可以参考它,并且您知道表2中的表1。您使用命名约定Table2_ID_FK来了解表1中的字段是对表2的ID的引用。约束是设置这些表之间的实际关系。