1. 程式人生 > >新增外來鍵的表如何插入資料

新增外來鍵的表如何插入資料

資料的關係比較多的是使用外來鍵去關聯的,那直接插入資料到添加了外來鍵的表的時候,那就會出現一個問題找不到這個外來鍵值而報錯。
這裡有兩個解決辦法:

先對外來鍵指定的那張子關係表新增你需要的資料後,再對使用外來鍵的表新增資料。(先主表插入資料,再從表插入資料集)

例如我有一張學生表t_student,然後我有一張宿舍表t_dormitory,然後t_dormitory裡面有一個學生欄位是外來鍵,關聯到學生表的。
我要對宿舍表進行插入資料那就先對學生表插入資料。然後在對宿舍表新增資料。

先禁用外來鍵約束

ALTER TABLE 表名 NOCHECK CONSTRAINT 外來鍵約束名
然後插入資料
然後再啟用約束
ALTER TABLE 表名 CHECK CONSTRAINT 外來鍵約束名

不斷學習,不斷進步。

相關推薦

Python3-sqlalchemy-orm 建立關聯錶帶外來插入資料

#-*-coding:utf-8-*- #__author__ = "logan.xu" import sqlalchemy from sqlalchemy import create_engine,func from sqlalchemy.ext.declarative import declara

新增外來如何插入資料

資料的關係比較多的是使用外來鍵去關聯的,那直接插入資料到添加了外來鍵的表的時候,那就會出現一個問題找不到這個外來鍵值而報錯。 這裡有兩個解決辦法: 先對外來鍵指定的那張子關係表新增你需要的資料後,再對使用外來鍵的表新增資料。(先主表插入資料,再從表插入

建立和測試觸發器:向SC插入資料時,檢查插入資料的課程號是否存在於Course中(建立之前刪除Cno的外來約束,比較外來約束和觸發器之間的不同)

alter table SC Drop constraint FK_SC--刪除外來鍵約束 CREATE TRIGGER trig_insert ON SC--在SC表中建立trig_insert觸發器 AFTER INSERT--insert為觸發事件,after則為觸發的時機

Oracle新增外來約束

新增主鍵約束: ALTER TABLE GA_AIRLINE ADD CONSTRAINT PK_AIRLINE_ID PRIMARY KEY(AIRLINE_ID); 有三種形式的外來鍵約束: 1、普通外來鍵約束(如果存在子表引用父表主鍵,則無法刪除父表記錄)

向有自增長主插入資料

在測試過程中,我們會遇到在測試過程中需要在資料庫中造資料來配合測試,一般來說表都會有唯一主鍵,並且有時候主鍵是自增長的,這時候我們插入資料的方法與沒有自增長主鍵時的方法略微不同,可以用使用以下兩種方式來實現。 方式一、 如果指定了該列的值,則新插入的值不和已有的值重複

Mysql清空帶有外來關聯關係資料

Mysql  清空資料庫表資料 truncate table wp_comments; delete * from wp_comments; delete from static.wp_comments;  MySql 清空帶有外來鍵的表資料 SET

建立學生、班級以及新增外來新增簡單程式碼

(一)關於資料庫建立注意事項。 --(1)查詢表 show tables; --(2)建立年級表 create table grade(     gid int primary key,     gn

Navicat修改mysql資料庫插入資料時欄位新增預設當前時間

比如新增createDate建立時間欄位,型別選擇timestamp,預設值填寫CURRENT_TIMESTAMP ,底部勾選欄位複選框提示根據當前時間戳更新 新插入的資料在select查詢時就會把該欄位的值查詢成最新的日期格式資料 資料查詢截圖如下

mysql建立好後新增外來

命令:alter table 需加外來鍵的表 add constraint 外來鍵名 foreign key(需加外來鍵表的欄位名) referencnes 關聯表名(關聯欄位名); 注意:外來鍵

mysql中新增外來約束失敗(cannot add foreign key constraint)

mysql中新增外來鍵約束遇到一下情況:  cannot add foreign key constraint  出現這個問題一般是開發工作者對外來鍵的使用出現了疏忽,我們先清晰一下外來鍵的使用:  1. 外來鍵欄位不能為該表的主鍵;  2. 外來鍵欄位參考欄

MYSQL 級聯 新增外來

MySQL支援外來鍵的儲存引擎只有InnoDB,在建立外來鍵的時候,要求父表必須有對應的索引,子表在建立外來鍵的時候也會自動建立對應的索引。在建立索引的時候,可以指定在刪除、更新父表時,對子表進行的相應操作,包括RESTRICT、NOACTION、SET NULL和CASCADE。其中RESTRICT和NO

CPP單項鍊插入資料初試

//vs2015_unit #include #include using namespace std; int Flag=0; typedef int DATA; struct SNode { DATA data; SNode* pNext; }; class CLink { SNod

mysql 如何向 自增 插入資料

  建立表: create table vip (     vip_id int PRIMARY key auto_increment,     name varchar(20),     p

Navicat新增外來詳細操作

前言 用Navicat為mysql資料庫的兩個表之間建立外來鍵關係,出現“cannot add foreign key constraint”錯誤,操作了很久不知道怎麼回事,發現竟然是。。。。 正文 想要建立class表與student表之間的外來鍵連線,class為父

mysql 新增外來約束報錯 1452

利用MySQL WorkBench為一張表的欄位新增一個外來鍵約束: INSERT INTO `se`.`book` (`ISBN`, `Title`, `AuthorID`, `Publisher`, `PublishDate`, `Price`) VAL

oracle新增外來約束的兩種方式

1.建立表時並建立外來鍵約束 create table score( scoreID int primary key, stuID int , score int constraint ck_score check(score between 0 and 100), course

Oracle12C--主外來約束刪除資料問題--級聯操作(九)

知識點的梳理: on delete cascade:當主表資料刪除時,對應的子表資料同時刪除; on delete set null:當主表資料刪除時,對應的子表資料設定為null; 問題1:刪除

Dos編碼格式的轉換&&資料庫MySQL(Navicat軟體)不能新增外來的問題

解決1. 輸入chcp 936 轉為gbk編碼 輸入chcp 65001 轉為UTF-8格式。在這種格式下不能輸入中文。 解決2. 如果在Navicat中新增外來鍵消失的情況,可以在設計表的時候要把選項裡的引擎設定為InnoDB,因為InnoDB提供事物

使用Navicat新增外來

CREATE TABLE parent(id INT NOT NULL, PRIMARY KEY (id)) TYPE=INNODB; CREATE TABLE child(id INT,

Python3-sqlalchemy-orm 建立關聯錶帶外來並查詢資料

#-*-coding:utf-8-*- #__author__ = "logan.xu" import sqlalchemy from sqlalchemy import create_engine,func from sqlalchemy.ext.declarative import declar