Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

mysql में, डिलीट कैस्केड पर काम नहीं कर रहा है

यदि आप इस तरह t2 बनाते हैं तो यह ठीक काम करता है:

CREATE TABLE  `t2` (
  `id` bigint(20) unsigned NOT NULL,
  `data2` text,
  PRIMARY KEY (`id`),
  CONSTRAINT `FK_t2_1` FOREIGN KEY (`id`) REFERENCES `t1` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

ईटीए, बदसूरत कोड के बारे में चिंताओं के जवाब में, नीचे भी काम करता है:

CREATE TABLE  t2 (
  id bigint(20) unsigned NOT NULL PRIMARY KEY,
  data2 text,
  CONSTRAINT  FOREIGN KEY (id) REFERENCES t1(id) ON DELETE CASCADE
) ENGINE=InnoDB ;

मुख्य अंतर यह है कि t2.id के लिए डेटा प्रकार t1.id से मेल खाना चाहिए और कॉलम के बाद बाधाओं को घोषित करना होगा।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL में दो टेबल्स की तुलना कैसे करें

  2. PHP/MySQL में किसी मित्र का मित्र?

  3. MySQL में प्रश्नोत्तरी के लिए डेटाबेस डिजाइन करने के लिए गाइड

  4. MYSQL का उपयोग करके एक यादृच्छिक संख्या बनाना

  5. MySQL - ELT () और FILED () सूची से सूचकांक स्थिति निकालने के लिए कार्य