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

MySQL में कैस्केड पर कैसे अपडेट करें?

यहां एक समाधान दिया गया है जो आपके द्वारा वर्णित कार्यों को करने के लिए कैस्केडिंग विदेशी कुंजियों का उपयोग करता है:

mysql> create table city (
  id int not null auto_increment, 
  name varchar(45), 
  active tinyint, 
  primary key (id),
  unique key (id, active));

mysql> create table person (
  id int not null auto_increment, 
  city_id int,
  active tinyint, 
  primary key (id), 
  foreign key (city_id, active) references city (id, active) on update cascade);

mysql> insert into city (name, active) values ('New York', 1);

mysql> insert into person (city_id, active) values (1, 1);

mysql> select * from person;
+----+---------+--------+
| id | city_id | active |
+----+---------+--------+
|  1 |       1 |      1 |
+----+---------+--------+

mysql> update city set active = 0 where id = 1;

mysql> select * from person;
+----+---------+--------+
| id | city_id | active |
+----+---------+--------+
|  1 |       1 |      0 |
+----+---------+--------+

MySQL 5.5.31 पर परीक्षण किया गया।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. दो तिथियों के बीच की तिथियों की सूची प्राप्त करें

  2. स्वचालित रोलबैक यदि COMMIT TRANSACTION नहीं पहुंचा है

  3. चेतावनी:mysql_result() पैरामीटर 1 को संसाधन, बूलियन दिए जाने की अपेक्षा करता है

  4. OSX 10.11 El Capitan पर रेल:लाइब्रेरी लोड नहीं हुई:libmysqlclient.18.dylib

  5. xampp स्थापित करने के बाद अपाचे चलाने में त्रुटि