मैं एक टेबल का उपयोग करके कई संबंधों में से एक बनाने की कोशिश कर रहा हूं। क्या यह संभव है?एक टेबल के साथ कई में से एक
create table user(id int primary key auto_increment not null,
created_by int default null
)ENGINE=INNODB;
alter table user add foreign key (created_by) references user(id) ON DELETE SET NULL ON UPDATE CASCADE;
insert into user (id) VALUES(1);
insert into user (id, created_by) VALUES (2,1);
अब जब मैं आईडी = 1 created_by के मूल्य के साथ उपयोगकर्ता को हटा automaticaly शून्य करने के लिए बदल के रूप में मैं उम्मीद थी।
लेकिन जब मैं आईडी = 1 के साथ उपयोगकर्ता की आईडी को बदलने मैं यह त्रुटि
mysql> update user set id=2 where id=1;
ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails (`jrt`.`user`, CONSTRAINT `user_ibfk_1` FOREIGN KEY (`created_by`) REFERENCES `user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE)
मैं इसे कैसे ठीक कर सकते हैं? इस अद्यतन को ठीक करें मैं चाहता हूं कि स्तंभ बनाया गया हो जिसे कैस्केड बदला जा सके।
आप जहां इस तरह के एक अवधारणा की जरूरत थी? - बस उत्सुक। – Lion
मुझे इसकी आवश्यकता नहीं है। मैं बस उत्सुक हूँ। – mecio
टिम जी एक फोरम थ्रेड को सटीक उत्तर के साथ जोड़ता है (यह अनंत लूप को रोकने के लिए एक सरल तंत्र है), सुनिश्चित करें कि आप [फॉलोअप] पढ़ते हैं (http://forums.mysql.com/read.php?136,391782,398085 # संदेश-398,085)। –