Yabancı bir anahtar bir ad olmadan oluşturulduysa, MySql bunu varsayılan olarak verir. Örneğin, 'Test' tablosu için yabancı anahtar 'test_ibfk_1' olarak adlandırılacaktır. Bu ismi kullanarak yerel anahtarı yerel olarak bıraktığımda, bir çekicilik gibi çalışır, ancak geliştirme sunucusunda hata oluşur: 152.MySql'de adlandırılmamış Yabancı Anahtarını Gizle
Bu adın büyük/küçük harfe duyarlı olduğunu biliyorum, ancak küçük veya büyük harf sonucu aynıdır .
Soruma göre: Kısıtlamaları değiştirmek için varsayılan adı kullanmak güvenli midir (en azından MySql'de)?
Şimdiden teşekkürler!
olmayan yöneticiler için yukarıdaki sorgu uygulanabilir mi: En genel çözüm beş değişkenlerle özelleştirebileceğiniz bu script? Genel bilgi bilmek çok iyi! Teşekkürler! –
Sadece bu tür bir sorgu için fk_name'inizi almak için bu dayanıklılık trekinden geçmek zorunda kalmak utanç verici. 'ALTER tablo tablosu_adı' 'col_name' 'DROP CONSTRAINT ON (isim ne olursa olsun). Afterall, sadece belli bir anahtar üzerinde böyle bir kısıtlama olabilir. Herkes doğru mu? –
@IfediOkonkwo, Tamamen katılıyorum. Birden çok ortamdaki veritabanında şema değişikliklerini yönetmek için Liquibase gibi bir şey kullanıyorsanız ve çalıştıkları her veritabanında aynı FK kısıtlama adını üretme garantisinin olmaması sorun yaratır. Bu, gelecekteki değişikliklerde bu kısıtlama adına güvenemeyeceğiniz anlamına gelir. Belli ki, başlangıçtan itibaren sabit bir adla kısıtlamaları adlandırabilirsiniz. –