Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm thế nào để sử dụng xóa tầng trên công cụ lưu trữ MySQL MyISAM?

Đúng. Đơn giản là bạn không thể với công cụ đó.

biên tập. Bạn có thể viết một trình kích hoạt mà khi bạn xóa một bản ghi trong bảng của mình, hãy xóa tất cả các bản ghi con trong tất cả các bảng khác.

Được. Tôi đã viết cho bạn một ví dụ:

 create table tab1 (
 id int )
 engine = myisam;

insert into tab1 values (1),(2),(3),(4); 

 create table tab2(
 id int not null auto_increment primary key,
 id_tab1 int
 ) engine = myisam;

 insert into tab2 (id_tab1) values (1),(2),(2),(3),(4);

 create table tab3(
 id int not null auto_increment primary key,
 id_tab1 int
 ) engine = myisam;

  insert into tab3 (id_tab1) values (1),(2),(2),(3),(2);


delimiter //
create trigger deletecascade after delete on tab1
for each row
begin
delete from tab2 where id_tab1 = old.id;
delete from tab3 where id_tab1 = old.id;
end; //
delimiter ;

delete from tab1 where id = 2;

Hy vọng rằng nó sẽ hữu ích.

biên tập. Rõ ràng là nó hoạt động ngay cả khi bạn xóa nhiều id khỏi table1 cùng lúc:

delete from tab1 where id in (2,3,4);



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách dễ nhất để thêm nhiều không gian vào một chuỗi trong MySQL - SPACE ()

  2. Không thể kết nối với cơ sở dữ liệu mysql?

  3. CẬP NHẬT tất cả các giá trị cột tương đương với một giá trị cột của bảng khác dựa trên id của chúng

  4. Làm cách nào để xem thời gian truy vấn có độ chính xác cao trong dòng lệnh mysql?

  5. EF6 MySql:Update-Database -Script tạo SQL mà không có dấu chấm phẩy