Phpmyadmin Veritabanı Sorgu Hatası
-
Müridler selamlar veritabanını onarıyorum bir kaç tabloda benzer hatalar alıyorum bir çoğunu onarmayı başardım
Sadece 3 tabloda bu hatayı alıyorum
Sorgu : ALTER TABLE dbadi.wp_wc_download_log ENGINE=MyISAM;
Aldığım Hata: Cannot delete or update a parent row: a foreign key constraint fails
-
Hata şu abi dbadi.wp_wc_download_log tablosunda senin başka bir tablodan referans aldığın foreign keyin var. Yani birbiriyle bağlantılı (ilişkisi olan) 2 adet tablon var ve sen tekine ait işlem yapıyon ya diğeri nolcak?
-
0x656e bunu yazdı
Hata şu abi dbadi.wp_wc_download_log tablosunda senin başka bir tablodan referans aldığın foreign keyin var. Yani birbiriyle bağlantılı (ilişkisi olan) 2 adet tablon var ve sen tekine ait işlem yapıyon ya diğeri nolcak?
hım toplamda 3 adette bu hatayı alıyorum 3 nü ekledim ama aynı hatayı yine verdi
ALTER TABLE dbadi.wp_wcfm_marketplace_shipping_zone_locations ENGINE=MyISAM;
ALTER TABLE dbadi.wp_wc_download_log ENGINE=MyISAM;
ALTER TABLE dbadi.wp_woocommerce_downloadable_product_permissions ENGINE=MyISAM;#1217 - Cannot delete or update a parent row: a foreign key constraint fails
-
SET FOREIGN_KEY_CHECKS=0;
yap önce;
sonra sorgunu çalıştır.
Sonra tekrar;
SET FOREIGN_KEY_CHECKS=1;
yap.
-
manyaki bunu yazdı
SET FOREIGN_KEY_CHECKS=0;
yap önce;
sonra sorgunu çalıştır.
Sonra tekrar;
SET FOREIGN_KEY_CHECKS=1;
yap.
İlk denediğim buydu hocam ama olmadı
-
Mycity bunu yazdı0x656e bunu yazdı
Hata şu abi dbadi.wp_wc_download_log tablosunda senin başka bir tablodan referans aldığın foreign keyin var. Yani birbiriyle bağlantılı (ilişkisi olan) 2 adet tablon var ve sen tekine ait işlem yapıyon ya diğeri nolcak?
hım toplamda 3 adette bu hatayı alıyorum 3 nü ekledim ama aynı hatayı yine verdi
ALTER TABLE dbadi.wp_wcfm_marketplace_shipping_zone_locations ENGINE=MyISAM;
ALTER TABLE dbadi.wp_wc_download_log ENGINE=MyISAM;
ALTER TABLE dbadi.wp_woocommerce_downloadable_product_permissions ENGINE=MyISAM;#1217 - Cannot delete or update a parent row: a foreign key constraint fails
Zaten 3ünü de aynı anda çalıştır demedim hocam, ben orada MySQL gibi düşündüm.
-
MyISAM'da FK desteği yok, ne yaptığından emin değilsen ve ortada bir uygulama varsa çalışmaz hale gelebilir.
Ne yaptığını biliyorsan o tablolardaki tüm Foreign Key kısıtlarını silip (DROP FOREIGN KEY vs..) sonra MyISAM'a çevirmen gerekecek.
Kısacası araştırmalarını Foreign Key nasıl silinir üzerinden yapıp, silip, sonra MyISAM'a çevirme işlemini şu an yaptığın gibi denemelisin.
-
buzukatak bunu yazdı
MyISAM'da FK desteği yok, ne yaptığından emin değilsen ve ortada bir uygulama varsa çalışmaz hale gelebilir.
Ne yaptığını biliyorsan o tablolardaki tüm Foreign Key kısıtlarını silip (DROP FOREIGN KEY vs..) sonra MyISAM'a çevirmen gerekecek.
Kısacası araştırmalarını Foreign Key nasıl silinir üzerinden yapıp, silip, sonra MyISAM'a çevirme işlemini şu an yaptığın gibi denemelisin.
Arkadasın da belirttiği gibi veritabaninda ne yaptiğini bilmiyorsan kutudan büyük çıkabilir, sonra aman allahım düşman götüne diye soylenmeden once MyISAM ve InnoDb arasında ki farka bak. dez avantajlarına bak. kullandığın yazılım (WP) bunun ile ilgili innoDb fonksionlarını kullandığı yerler var ise onlar patlayacak catlayacak vs bunları bir gözden geçir. Eğer evet sorun yok ben db engine yi deyiştirirm diyorsan FK'ları bir drop et, sonra taşı.
birde unutma server reset elektrik gelgit gibi durumlarda myisam da veri kaybı olacaktır. translog gibi kavramlar da sorunludurdur. cok hizli insert update işlemleri yapar ama index olaylarını vs araştır. (araştır diyorum çünkü alımda text index yapmadiği kalmiş üzün zamandır da mysql kullanmıyorum bir bak oyle kullan.)
-
rakkoc bunu yazdıbuzukatak bunu yazdı
MyISAM'da FK desteği yok, ne yaptığından emin değilsen ve ortada bir uygulama varsa çalışmaz hale gelebilir.
Ne yaptığını biliyorsan o tablolardaki tüm Foreign Key kısıtlarını silip (DROP FOREIGN KEY vs..) sonra MyISAM'a çevirmen gerekecek.
Kısacası araştırmalarını Foreign Key nasıl silinir üzerinden yapıp, silip, sonra MyISAM'a çevirme işlemini şu an yaptığın gibi denemelisin.
Arkadasın da belirttiği gibi veritabaninda ne yaptiğini bilmiyorsan kutudan büyük çıkabilir, sonra aman allahım düşman götüne diye soylenmeden once MyISAM ve InnoDb arasında ki farka bak. dez avantajlarına bak. kullandığın yazılım (WP) bunun ile ilgili innoDb fonksionlarını kullandığı yerler var ise onlar patlayacak catlayacak vs bunları bir gözden geçir. Eğer evet sorun yok ben db engine yi deyiştirirm diyorsan FK'ları bir drop et, sonra taşı.
birde unutma server reset elektrik gelgit gibi durumlarda myisam da veri kaybı olacaktır. translog gibi kavramlar da sorunludurdur. cok hizli insert update işlemleri yapar ama index olaylarını vs araştır. (araştır diyorum çünkü alımda text index yapmadiği kalmiş üzün zamandır da mysql kullanmıyorum bir bak oyle kullan.)
Önden bir yedeğini almistim bunu yapmamin nedeni tablolari onaramiyorum depolama motorlarının farkları burada benimki şuan InnoDB
Engine Support Comment Transactions XA Savepoints CSV YES Stores tables as CSV files NO NO NO MRG_MyISAM YES Collection of identical MyISAM tables NO NO NO MyISAM YES Non-transactional engine with good performance and... NO NO NO SEQUENCE YES Generated tables filled with sequential values YES NO YES MEMORY YES Hash based, stored in memory, useful for temporary... NO NO NO PERFORMANCE_SCHEMA YES Performance Schema NO NO NO Aria YES Crash-safe tables with MyISAM heritage NO NO NO InnoDB DEFAULT Percona-XtraDB, Supports transactions, row-level l... YES YES YES -
Mycity, InnoDB tablo onarmayı desteklemez, amaç sadece phpMyAdmin'de edindiğin alışkanlık gereği tabloları seçip onar vs.. demekse buna ihtiyacın yok. InnoDB o tür basit meselelere karşı şerbetli.
Zaten sanıyorum Wordpress için alışveriş sitesi eklentileri ile alakalı tablolar bunlar ki bu tür sistemlerde veri tutarlılığı ve izole geri dönülebilir işlemlere ihtiyaç duyulduğundan InnoDB kullanılmış.
Çalışan sistemi bozma, InnoDB ile onarmaya gerek kalmadan çalışmaya devam et, bir sorun yok.
-
buzukatak bunu yazdı
Mycity, InnoDB tablo onarmayı desteklemez, amaç sadece phpMyAdmin'de edindiğin alışkanlık gereği tabloları seçip onar vs.. demekse buna ihtiyacın yok. InnoDB o tür basit meselelere karşı şerbetli.
Zaten sanıyorum Wordpress için alışveriş sitesi eklentileri ile alakalı tablolar bunlar ki bu tür sistemlerde veri tutarlılığı ve izole geri dönülebilir işlemlere ihtiyaç duyulduğundan InnoDB kullanılmış.
Çalışan sistemi bozma, InnoDB ile onarmaya gerek kalmadan çalışmaya devam et, bir sorun yok.
Onarmayı başardım sorunluydu bazen veritabanı bağlantısı kopuyor örneğin sitede arama yapınca bağlantı yada sorgu hatası veriyordu şimdi düzeldiğini görüyorum bunu cleanfix diye bi eklenti ile yaptım innodb seçeneği vardı eklentide