我们可以使用主键的约束名称作为外键引用吗?

毗湿奴

例如,我正在创建两个表,如下所示:

create table A (
  department_id int,
  college_id int,
  constraint Pk_name primary key(department_id,college_id)
);

create table B (
  student_name varchar(75),
  department_id int,
  college_id int,
  foreign key(department_id,college_id) references A(Pk_name)
);

我可以这样写吗?

阿努瓦尔·赛赛德

我不这么认为,因为RDBMS不可能知道PK_name列名还是约束名,因此我建议您坚持使用通常的方法:

create table A ( department_id int, college_id int, constraint Pk_name primary key(department_id,college_id) );

create table B ( student_name varchar(75), department_id int, college_id int, foreign key(department_id,college_id) references A(department_id,college_id) );

找到其他答案后,我将更新答案。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我们可以使用Object类的实例作为HashMap中的键吗

我们可以使用从WinForms控件继承的对象作为.NET Hashtable的键吗?

我们可以使用 pair 作为向量的名称吗?

我们可以使用类作为标题吗

当我们使用名称作为字符串时调用过程吗?

我们可以用相同的主键使不同表的多个外键链接吗?

我可以使用内置名称作为Python类的方法名称吗?

我们是否可以使用其他唯一约束作为数据库中的主键,例如电话号码或国家/地区ID

我们可以有两个相互的外键引用吗

我可以删除主键而不删除引用的外键吗?

我们可以使用 AWS 公共 DNS 作为域名称来在我们的实例上启用 https

我们可以在一个外键字段中拥有两个主键吗?

我们可以使用 BigQuery 中的函数自定义我们的字段名称吗?

我可以在大多数表中使用外键作为主键吗?

我们可以使用右值引用来“传递”参数吗?

我们可以使用类的引用来调用方法吗

我们可以使用<li>作为html中的表单元素吗?

我们可以使用NGINX作为模板引擎的Webapp吗

我们可以使用chef作为持续部署工具吗?

我们可以使用()代替{}作为函数范围吗?

我们可以使用一行数据帧作为函数的输入吗?

我们可以使用 GitLab 作为 AWS CDK 管道源代码的主机吗?

我们可以使用外部硬盘作为内部硬盘吗

我们可以在SQL Server中编写外键时使用CAST函数吗

我们可以使用像 & 符号这样的动画关键帧名称吗?

我们可以使用规范名称来过滤计算机吗?

我们可以使用RTTI来按名称查找函数/过程并运行它们吗?

我们可以使用名称空间实现封装吗?

我们可以使用带有字母数字字符的班级名称吗?