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