中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Mysq中l建立測試父表、子表及測試用例的示例

發布時間:2021-01-22 11:23:12 來源:億速云 閱讀:126 作者:小新 欄目:MySQL數據庫

這篇文章給大家分享的是有關Mysq中l建立測試父表、子表及測試用例的示例的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

建立測試表

查看版本信息
select version();
5.7.22
創建父表
drop table if exists Models;
CREATE TABLE Models
  (
    ModelID SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
   Name VARCHAR(40) NOT NULL,
    PRIMARY KEY (ModelID)
);
創建子表
drop table if exists Orders;
CREATE TABLE Orders
  (
    ID          SMALLINT UNSIGNED NOT NULL PRIMARY KEY,
   ModelID     SMALLINT UNSIGNED NOT NULL,
     Description VARCHAR(40),
    FOREIGN KEY (ModelID) REFERENCES Models (ModelID)
      ON DELETE cascade
  );

測試

測試用例-無父表相應數據,先插入子表

insert into Orders(Id,ModelID,Description) values (1,1,'a');

結果:執行失敗
異常:[2018-07-31 11:08:01] 23000 Cannot add or update a child row: a foreign key constraint fails (bov.Orders, CONSTRAINT Orders_ibfk_1 FOREIGN KEY (ModelID) REFERENCES Models (ModelID) ON DELETE CASCADE)
原因:通不過on delete cascade 的外鍵約束檢查

測試用例-先插入主表數據,再插入子表數據

insert into Models(ModelID,Name) values (1,'a');
insert into Orders(Id,ModelID,Description) values (1,1,'a');

結果:執行成功

select * from Models;
1    a

select * from Orders;
1    1    a

測試用例-父子表都有數據,刪除子表數據

delete from Orders where id = 1;

結果:執行成功

select * from Models;
1    a
select * from Orders;
為空

測試用例-父子表都有數據,刪除父表書庫

delete from Models where ModelID = 1;

結果:執行成功

select * from Models;
為空
select * from Orders;
為空

測試用例-父子表都有數據,更新子表外鍵

update Orders set ModelID = 3 where ID =1;

結果:執行失敗
異常:[2018-07-31 12:33:02] 23000 Cannot add or update a child row: a foreign key constraint fails (bov.Orders, CONSTRAINT Orders_ibfk_1 FOREIGN KEY (ModelID) REFERENCES Models (ModelID) ON DELETE CASCADE)
原因:通不過on delete cascade 的外鍵約束檢查

測試用例-父子表都有數據,更新父表主鍵

update Models set ModelID = 2 where ModelID =1;

結果:執行失敗
異常:[2018-07-31 12:34:24] 23000 Cannot delete or update a parent row: a foreign key constraint fails (bov.Orders, CONSTRAINT Orders_ibfk_1 FOREIGN KEY (ModelID) REFERENCES Models (ModelID) ON DELETE CASCADE)
原因:通不過on delete cascade 的外鍵約束檢查

測試用例-父子表都有數據,更新子表非外鍵

update Orders set Description = 'b' where ID =1;

結果:執行成功

select * from Orders;
1    1    b

測試用例-父子表都有數據,更新父表非主鍵

update Models set Name = 'c' where ModelID =1;

結果:執行成功

select * from Models;
1    c

感謝各位的閱讀!關于“Mysq中l建立測試父表、子表及測試用例的示例”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

疏附县| 石首市| 米易县| 临湘市| 清徐县| 怀化市| 屯昌县| 温泉县| 宜州市| 大邑县| 宜春市| 万山特区| 清镇市| 邵阳市| 西平县| 东平县| 常州市| 乐亭县| 张家界市| 永丰县| 盘山县| 安平县| 呼图壁县| 五常市| 化隆| 江永县| 惠来县| 桃园县| 苏尼特左旗| 自治县| 互助| 本溪市| 漳州市| 祁东县| 康马县| 溧阳市| 嵩明县| 麻阳| 抚顺市| 启东市| 四子王旗|