扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
1
创新互联建站是一家业务范围包括IDC托管业务,网站空间、主机租用、主机托管,四川、重庆、广东电信服务器租用,雅安服务器托管,成都网通服务器托管,成都服务器租用,业务范围遍及中国大陆、港澳台以及欧美等多个国家及地区的互联网数据服务公司。
一个表只能有一个主键,但是可以用两个字段做联合主键,但针对你发上来的情况,板块表只可以用id字段做主键
create table bk(
id number primary key,
name varchar2(50) not null);
然后创建帖子表
create table tz(
id number primary key,
title varchar2(50),
bkid number,
foreign KEY(bkid) REFERENCES bk(id));
注意 :一定要先创建bk表,再创建tz表
1、外键是属于约束的一种,所谓约束顾名思义,就是限制你在数据库的操作。而你对数据库有什么操作,无非是增、删、改、查,外键起的作用就是让你在数据库帮助的情况下更合理的增加数据的正确度。
2、所以,外键只是辅助,并不能起到你说的【B.NAME是否也自动出现张三两个字】。
3、外键的作用是能够避免如下情况。
如
【班级信息表】存放的是班级信息表。
【学生表】存放的是学生信息,包含班级信息。
这个时候 在【学生表】中存放的班级信息应该在【班级信息表】存在才合法,自己人为控制的话难免有漏掉的情况,用外键则可以让数据库自动控制,当插入【学生表】中的数据在【班级信息表】不存在的时候,数据库不允许插入。
---
以上,希望对你有所帮助。
SQL drop table Stu;
drop table Stu
*
ERROR 位于第 1 行:
ORA-00942: 表或视图不存在
SQL create table Stu(
2 sno varchar2(10) primary key,
3 sname varchar2(10) not null,
4 sex varchar2(5) check(sex='男'or sex='女'),
5 class varchar2(10),
6 spasswd varchar2(10)
7 );
表已创建。
SQL drop table Cou;
drop table Cou
*
ERROR 位于第 1 行:
ORA-00942: 表或视图不存在
SQL create table Cou(
2 cno varchar2(10) primary key,
3 cname varchar2(30) not null,
4 kcxz varchar2(20),
5 lesson_hours number(4),
6 test_hours number(4),
7 credit number(3)
8 );
表已创建。
SQL drop table SC;
drop table SC
*
ERROR 位于第 1 行:
ORA-00942: 表或视图不存在
SQL create table SC(
2 sno varchar2(10),
3 cno varchar2(10),
4 grade number(3),
5 primary key(sno,cno)
6 );
表已创建。
SQL
SQL
SQL ALTER TABLE SC ADD CONSTRAINT fk_SC_Stu FOREIGN KEY (sno) REFERENCES Stu;
表已更改。
SQL
SQL ALTER TABLE SC ADD CONSTRAINT fk_SC_Cou FOREIGN KEY (cno) REFERENCES Cou;
表已更改。
SQL
create TABLE zhao(
id number primary key,
mingcheng nvarchar2(50),
neirong nvarchar2(50),
jiezhiriqi date,
zhuangtai nvarchar2(50)
);
create TABLE tou(
id number primary key,
zhao_id number,
toubiaoqiye nvarchar2(50),
biaoshuneirong nvarchar2(50),
toubiaoriqi date,
baojia number,
zhuangtai nvarchar2(50),
foreign KEY(zhao_id) REFERENCES zhao(id)
);
foreign key (zhao_id) references to zhao(id)
多了个to
以oracle自带的用户scott为例。
create table dept(
deptno number(2) primary key, --deptno 为 dept表的主键
dname varchar2(10),
loc varchar2(9)
);
create table emp(
empno number(4) primary key, --empno 为 emp表的主键
ename varchar2(10),
job varchar2(9),
mgr number(4),
hiredate date,
sal number(7,2),
comm number(7,2),
deptno number(2) references dept(deptno) --dept表中deptno字段 为 emp表的外键
);
主键:ALTER TABLE A ADD CONSTRAINT PK_XXX PRIMARY KEY (XXX)
外键;ALTER TABLE B ADD CONSTRAINT FK_YYY FOREIGN KEY(YYY) REFERENCES A(XXX)
B表的YYY字段 引用A表的XXX字段值域为自身值域
主键约束,外键约束就是这样建立的
删除约束: ALTER TABLE A DROP CONSTRAINT 约束名
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流