課程
/后端開發
/Java
/MyBatis-Plus進階
這個不同的級聯策略影響的行數還不一樣呀?使用案例中的這個數據庫表級聯策略為cascade時影響的row為1,級聯策略為set null時影響的行數為記錄的條數
2019-10-09
源自:MyBatis-Plus進階 8-1
正在回答
你好,我使用mysql5.7做實驗,進行級聯刪除策略設置,例如我刪除一個角色表中的數據,持有該角色的用戶表的用戶也跟著級聯刪除或者設置為set null,并且持有該角色的用戶都是2條,兩種不同策略下的執行delete角色操作,影響的row都顯示為1,沒出現你說的情況,請問你是使用什么數據庫的什么版本,怎樣設置,怎么操作的出現了上述情況?
qq_你的樣子_3 提問者
老猿 回復 qq_你的樣子_3 提問者
qq_你的樣子_3 提問者 回復 老猿
CREATE TABLE USER(? ? id BIGINT(20) PRIMARY KEY NOT NULL COMMENT '主鍵id',? ? username VARCHAR(20) DEFAULT NULL COMMENT '姓名',? ? age INT NOT NULL DEFAULT 0 COMMENT '年齡',? ? email VARCHAR(30) DEFAULT NULL COMMENT '郵箱',? ? manager_id BIGINT(20) DEFAULT NULL COMMENT '直屬主管id',? ? create_time DATETIME DEFAULT NULL COMMENT '創建時間',? ? update_time DATETIME DEFAULT NULL COMMENT '修改時間',? ? VERSION INT(11) NOT NULL DEFAULT 1 COMMENT '版本',? ? deleted INT(1) NOT NULL DEFAULT 0 COMMENT '邏輯刪除標識(0:未刪除,1:已刪除)',? ? CONSTRAINT manager_fk FOREIGN KEY (manager_id) REFERENCES USER (id) ON DELETE CASCADE ON UPDATE CASCADE? ? -- CONSTRAINT manager_fk FOREIGN KEY (manager_id) REFERENCES USER (id) ON DELETE set null ON UPDATE set null)ENGINE=INNODB CHARSET=utf8;INSERT INTO USER (id, username, age, email, manager_id, create_time)VALUES(10001, '大boss', 40, '[email protected]', NULL, '2019-06-06 06:06:06'),? ? ? (10002, '張三豐', 40, '[email protected]', 10001, '2019-07-07 07:07:07'),? ? ? (10003, '郭靖', 40, '[email protected]', 10002, '2019-08-08 08:08:08'),? ? ? (10004, '楊過', 35, '[email protected]', 10002, '2019-08-28 20:08:08'),? ? ? (10005, '張無忌', 20, '[email protected]', 10002, '2019-06-25 15:22:34');
CREATE TABLE USER(
? ? id BIGINT(20) PRIMARY KEY NOT NULL COMMENT '主鍵id',
? ? username VARCHAR(20) DEFAULT NULL COMMENT '姓名',
? ? age INT NOT NULL DEFAULT 0 COMMENT '年齡',
? ? email VARCHAR(30) DEFAULT NULL COMMENT '郵箱',
? ? manager_id BIGINT(20) DEFAULT NULL COMMENT '直屬主管id',
? ? create_time DATETIME DEFAULT NULL COMMENT '創建時間',
? ? update_time DATETIME DEFAULT NULL COMMENT '修改時間',
? ? VERSION INT(11) NOT NULL DEFAULT 1 COMMENT '版本',
? ? deleted INT(1) NOT NULL DEFAULT 0 COMMENT '邏輯刪除標識(0:未刪除,1:已刪除)',
? ? CONSTRAINT manager_fk FOREIGN KEY (manager_id) REFERENCES USER (id) ON DELETE CASCADE ON UPDATE CASCADE
? ? -- CONSTRAINT manager_fk FOREIGN KEY (manager_id) REFERENCES USER (id) ON DELETE set null ON UPDATE set null
)ENGINE=INNODB CHARSET=utf8;
INSERT INTO USER (id, username, age, email, manager_id, create_time)
VALUES(10001, '大boss', 40, '[email protected]', NULL, '2019-06-06 06:06:06'),
? ? ? (10002, '張三豐', 40, '[email protected]', 10001, '2019-07-07 07:07:07'),
? ? ? (10003, '郭靖', 40, '[email protected]', 10002, '2019-08-08 08:08:08'),
? ? ? (10004, '楊過', 35, '[email protected]', 10002, '2019-08-28 20:08:08'),
? ? ? (10005, '張無忌', 20, '[email protected]', 10002, '2019-06-25 15:22:34');
這個是建表以及插入語句,上面設置了兩種不同的級聯策略,我再看一看吧??!這個就是我在看那個mp自定義sql的時候執行了自定義的delete from user看到最后返回的結果是影響的行數是1,才看了看這個東西。
老猿
舉報
MyBatis-Plus框架進階課程
3 回答邏輯刪除的字段在查詢的時候的性能影響(Version3.1.0)
1 回答mybatisPlus怎么執行帶聚合函數的sql?
3 回答mapper二級緩存和分頁插件的問題
1 回答請問老師mp中有沒有一對一 一對多的關聯功能
1 回答官方文檔和咱們課程用的版本不同了,怎么看課程版本MP的文檔?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2019-10-10
你好,我使用mysql5.7做實驗,進行級聯刪除策略設置,例如我刪除一個角色表中的數據,持有該角色的用戶表的用戶也跟著級聯刪除或者設置為set null,并且持有該角色的用戶都是2條,兩種不同策略下的執行delete角色操作,影響的row都顯示為1,沒出現你說的情況,請問你是使用什么數據庫的什么版本,怎樣設置,怎么操作的出現了上述情況?
2019-10-10
這個是建表以及插入語句,上面設置了兩種不同的級聯策略,我再看一看吧??!這個就是我在看那個mp自定義sql的時候執行了自定義的delete from user看到最后返回的結果是影響的行數是1,才看了看這個東西。