1、在grade表中GID设置为主键或唯一字段。 create table grade( GID number(4) primary key, ... ... ); 2、在student表中做外键。 Create table student( sid number(6) primary key, ... ... GID number(4) refrences grade(GID), ... ... );
创新互联建站主营福鼎网站建设的网络公司,主营网站建设方案,重庆APP开发,福鼎h5微信小程序开发搭建,福鼎网站营销推广欢迎福鼎等地区企业咨询
参考:
一、
1.insert into table as select from......
insert into table(field) values();
主键冲突:在数据插入的时候,如果主键对应的值已经存在,则插入失败,此为主键冲突。此刻可以进行选择性处理,忽略、更新或替换。
----------------------------------------------------------------------------------
insert ignore into ...... 此方法遇到主键冲突时,不更改原记录,也不报错。
2. replace into table values();
replace into table as select from ......
数据不存在则insert,若存在则replace掉,而且在列不全的情况下,未指定value的列会被设为默认值。
3. insert into table values() on duplicate key update table set ..........
注意values括号里只简写一个id即可,最终生效的是update的内容。
二、关键时刻,如何使主键失效
alter table tablename disable primary key;
alter table tablename enable primary key;
alter table tablename drop primary key;
使外键失效或生效:
alter table tablenamee disable constraint foreign_key_name;
如果你只想保留一个月的数据,建分区的时候就没有必要用那么详细的时间来做分区条件,你可以用1~31做为分区条件,这些,你就只需要truncate分区,而不需要重建了,当然truancate掉只是数据,你的索引之类的都还在的,这样数据库应该比你目前的快不少。