mysql创建表里主码和外码_外码必须是另一个关系的主码吗?主键主码 外键外码是同一个东西吗?...
满意答案
qq575137887
2014.06.09
采纳率:55% 等级:10
已帮助:1164人
外码必须是另一个关系的主码, 或者 有唯一约束的列。
否则创建将要失败!
-- 创建测试主表. 无主键.
CREATE TABLE test_main2 (
id INT NOT NULL,
value VARCHAR(10)
);
-- 创建测试子表.
CREATE TABLE test_sub2 (
id INT NOT NULL,
main_id INT,
value VARCHAR(10),
PRIMARY KEY(id)
);
-- 插入测试主表数据.
INSERT INTO test_main2(id, value) VALUES (1, 'ONE');
INSERT INTO test_main2(id, value) VALUES (2, 'TWO');
-- 插入测试子表数据.
INSERT INTO test_sub2(id, main_id, value) VALUES (1, 1, 'ONEONE');
INSERT INTO test_sub2(id, main_id, value) VALUES (2, 2, 'TWOTWO');
SQL> ALTER TABLE test_sub2
2 ADD CONSTRAINT main_id_cons2
3 FOREIGN KEY (main_id)
4 REFERENCES test_main2(id);
REFERENCES test_main2(id)
*
第 4 行出现错误:
ORA-02270: 此列列表的唯一或主键不匹配
默认情况下,无法创建外键
需要创建 unique 约束
SQL> ALTER TABLE test_main2
2 ADD CONSTRAINTS t_unique_id2
3 UNIQUE (id);
表已更改。
unique 约束创建完毕后,外键创建成功。
SQL> ALTER TABLE test_sub2
2 ADD CONSTRAINT main_id_cons2
3 FOREIGN KEY (main_id)
4 REFERENCES test_main2(id);
表已更改。
00分享举报
mysql创建表里主码和外码_外码必须是另一个关系的主码吗?主键主码 外键外码是同一个东西吗?...相关推荐
- mysql创建表里主码和外码_SQL语言创建表时候怎么定义主码和外码
展开全部 SQL语言62616964757a686964616fe58685e5aeb931333433623064创建表时候用Primary Key(属性名)定义主码,用Foreign Key(属性 ...
- mysql创建数据库没有默认值报错_详解Mysql数据库date, datetime类型设置0000-00-00默认值(default)报错问题...
现象:MySQL5.7版本之后,date, datetime类型设置默认值"0000-00-00",出现异常:Invalid default value for 'time' 原因 ...
- mysql查询第11到20条数据_数据库查询语句怎样查询一个表中的第15到第20条数据...
展开全部 用row_number来查询. 具体方法如下:62616964757a686964616fe4b893e5b19e31333337613830 以sqlserver2008R2为例. 1.创 ...
- mysql创建用户表的sql语句,mysql创建表的sql语句
mysql 动态sql语句,如何用一款小工具大大加速MySQL SQL语句优化(附源,mysql分页查询sql语句,mysql创建表的sql语句 mysql建表语句_计算机软件及应用_IT/计算机_专 ...
- mysql 主码和外码_sql如何用sql语句对一个已经编辑好的表在设置主码和外码?Atlassian Confluence安装以及咋更改数据库...
在上一篇文章中,小编为您详细介绍了关于<如何更改CAD尺寸标注的单位?丽台Q600 优化驱动 装了这个卡>相关知识.本篇中小编将再为您讲解标题sql如何用sql语句对一个已经编辑好的表在设 ...
- mysql主码和外码能一样吗_主码、候选码、外部码之间的联系与区别
展开全部 主码包含候选码和码,候选码包含码. 1.含义不同:若关系中的某一属性组的值能唯一地标识一个元e68a84e8a2ad3231313335323631343130323136353331333 ...
- mysql外码是什么意思_数据库中的外键是什么意思?
展开全部 外键(FK)是用于建立和加强两个表数据之间的链接的一列或多列.通过32313133353236313431303231363533e4b893e5b19e31333433633436将保存表 ...
- mysql 创建外键实例_mysql 外键创建实例
SQL FOREIGN KEY 外键实例教程 外国的SQL关键的制约因素 外键在一个表点,主键在另一就座. 让我们说明了外国钥匙与一个例子.看看以下两个表格: 在"人"表: Las ...
- 2019-7-27 [MySQL] DQL 简单查询[别名/去重/运算] 条件查询 排序查询 聚合查询 分组查询 导出与导入 多表操作[一对多/多对多][创外键 创联合主键 约束 添加 删除 测试]
文章目录 5 SQL语句(DQL) 5.1DQL准备工作和语法 5.1.1准备工作 5.1.2 DQL语法: 5.2 简单查询 5.2.1 查询所有的商品 5.2.2 查询商品名和商品价格. 5.2. ...
最新文章
- 数据仓库与数据集市建模
- jQuery一些常用特效方法使用实例
- NUMA导致的MySQL服务器SWAP问题分析
- 年后来广州第一天,写篇水文
- 一条一条来,MySQL变量、流程控制与游标,完整详细可收藏
- Maven的学习资料收集--(九) 构建SSH项目以及专栏maven
- java课设电子门禁_Java 并发专题 : CyclicBarrier 打造一个安全的门禁系统
- IE10-浏览器实现placeholder效果
- 实现多楼层,每个楼层多房间,上下拖动切换楼层,左右拖动查看其他房间
- mysql为什么尽量少星号,mysql – select中是否存在星号排除其他列?
- error Code:410 Error Message:appid and openid not match 威富通技术支持,兴业银行微信支付接入支持
- 基于深度学习的CNN边缘检测RCF--Richer Convolutional Features for Edge Detection
- 怎样使用ADO.NET连接数据库
- 课程实训-校园导游系统
- html换行不出现横线,wps为什么在换行空格下划线不显示
- 10个最佳PHP URL缩短器脚本
- Linux命令手动清除缓存
- linux 文件末尾追加内容
- javascript百炼成仙 第一章 掌握JavaScript基础 1.9 循环遍历的奥妙
- 刚刚!腾讯官宣移动开发人才这样选