91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

阿图什市| 栾川县| 锡林郭勒盟| 平陆县| 长葛市| 同江市| 九台市| 凤阳县| 凤台县| 米泉市| 社旗县| 尚志市| 三亚市| 松阳县| 五家渠市| 北安市| 宕昌县| 吴川市| 永胜县| 阜平县| 卢湾区| 新安县| 龙南县| 武川县| 宝清县| 廉江市| 漳州市| 凤阳县| 翼城县| 海淀区| 岚皋县| 炎陵县| 鄂伦春自治旗| 红河县| 庆阳市| 仁化县| 东平县| 卓资县| 通江县| 普陀区| 永丰县|