Tabloda AÇIK DELETE kısıtlamasını nasıl ekleyebilirim?Tabloda AÇIK DELETE kısıtlamasını nasıl ekleyebilirim?
cevap
ALTER TABLE + ADD CONSTRAINT kullanın. Örneğin. O kısıtlamayı güncellemeniz gerekir ise
ALTER TABLE profiles
ADD CONSTRAINT `fk_test`
FOREIGN KEY (`member_id`)
REFERENCES `members` (`member_id`)
ON DELETE CASCADE
- Eğer gerekecek: Eğer member_id tarafından tabloları üyeleri ve profillerini bağlamış ve kaskad profilleri üye silinir her zaman silmek istiyorsanız, böyle bir şey yazabilirsiniz sonra kaldırın ve tekrar oluşturun, değiştirmenin doğrudan bir yolu yoktur. yabancı anahtar zaten oluşturulursa
ALTER TABLE profiles DROP FOREIGN KEY `fk_test`
, benim için çalışan bir hile var. Veritabanınızın dökümünü değiştirebilir ve değişikliklerle tekrar içe aktarabilirsiniz. Eğer MySQL ve Linux kabuk kullanıyorsanız
, böyle olurdu:
İlk olarak, veritabanı ihracat: Sonra
$ mysql -u <user> -p <namedatabase> > database.sql
database.sql dosyasını açmak ve tablo arayın değiştirmek istiyorsun.
Yabancı anahtarın sonundaki ON DELETE CASCADE
'u ekleyin ve kaydedin.
$ mysql -u <user> -p <namedatabase> < database.sql
Ve siz CASCADE çalışma SİL sahip olacaktır:
İkincisi, değişikliklerle veritabanı ithal.
Bu gerçekten tehlikeli bir çözümdür. – CodeMonkey
Ya da tüm veritabanını yeniden yüklemeksizin, yabancı anahtar denetimlerini devre dışı bırakabilir, kısıtlamanızı değiştirebilir ve yeniden açabilirsiniz. – mopsyd
- 1. INSERT VEYA DEĞİŞTİR + yabancı anahtar AÇIK DELETE CASCADE çok iyi çalışıyor
- 2. Yeni pencerede açik açiklama
- 3. Eşitsizlik kısıtlamasını listeleme
- 4. İki tabloda nasıl özetlenir?
- 5. Monomorfizm kısıtlamasını bana açıklayınız lütfen?
- 6. Tabloda SSRS
- 7. Fizik Motoru için 'AÇIK' Yazma Etkinlikler
- 8. Tabloda yinelenen adlar nasıl bulunur?
- 9. Doğrulama tabloda
- 10. SET ANSI_NULLS AÇIK veya KAPALI ile nasıl baş edilir?
- 11. Play Scala REST DELETE
- 12. INSERT ve DELETE
- 13. ios5: delete UIButton border
- 14. AngularJS ngResource delete olayı
- 15. NodeJS - jQuery DELETE Metodu
- 16. Bu üye kısıtlamasını F # cinsinden nasıl yazarım? Bir tür için
- 17. PUT ve DELETE Django
- 18. benim tabloda Postgres Server
- 19. Raylarıma nasıl giriş ekleyebilirim?
- 20. sigma.js eklentilerini nasıl ekleyebilirim?
- 21. Bir wstring'e nasıl ekleyebilirim?
- 22. Pelikan'a görüntüleri nasıl ekleyebilirim?
- 23. Düğmecemi ActionBar'a nasıl ekleyebilirim?
- 24. Ağaç tablosuna nasıl ekleyebilirim
- 25. PDO'ya nasıl ekleyebilirim (sqllite3)?
- 26. System.Windows.Shapes'ı nasıl ekleyebilirim?
- 27. /dev/tty'ye nasıl ekleyebilirim?
- 28. Backbone.js DELETE isteği tetiklenmiyor
- 29. delete query çalışmıyor
- 30. SELECT ve DELETE
Yabancı bir anahtarı değiştiremediğinizin farkında değildiniz, ancak bunu yeniden oluşturmanız gerekiyordu. Bana çok zaman ayırdı teşekkür ederim! –
Bunu "UPDATE kaskadında" için de kullandı ve iyi çalıştı (oldukça açık bir şekilde). Çok kısıtlı tablolarda büyük güncellemeler için kullanılır. – Diego1974