2 mysql tabloları karşılaştırarak ve sadece değişen kayıtların güncellenmesi

2 Cevap php

Ben şu var. İki mysql tablo. Ben b tablo a değişti bilgi kopyalamak istiyorum.

Satır 1 sütun 2 tablo a değişti Örneğin ben sadece tablo içinde b sütunu güncelleştirmek istiyor. Bir değil, aynı zamanda bir var aynı sütunları olduğu gibi masa b aynı değildir. Ben diğer çözüm sadece net tablo b ve tablo a gelen içeriği ile değiştirin, bu ile sorun daha fazla 10000 kayıtları vardır, çünkü komut dosyası çalıştırmak için uzun sürer ki olabilir. Yöntem en iyisi olduğu için herhangi bir tavsiye son derece takdir edilecektir

2 Cevap

use trigger on update one table that update another. can see example in this tutorial

http://www.brainbell.com/tutorials/MySQL/Creating_Triggers.htm

ve bu yazı

http://forums.mysql.com/read.php?99,282455,282559#msg-282559

Sadece kötü yapı için geçici çözümler bularak zorlukları bileşik konum - Eğer aynı veritabanı üzerinde 2 farklı tablolarda aynı veri var ise, o zaman veritabanı normalize değildir.

Bu 2 ayrı veritabanları olsaydı - Bir kümede söylemek dağıtılmış düğümler (bu çift yönlü senkronizasyon ima rağmen) veya raporlama amaçlı bir veritabanının yakın çevrimiçi kopyası var, o zaman hala düzgün veri normalleştirmek ve alanları hareket etmelidir masada üçüncü bir tablo 'bir' ama tablosunda bulunan 'b' mevcut. değil Nüfus / çoğaltma sorunu gidermek için, ya:

1) MySQL yerleşik çoğaltma işlevini kullanın

2) masaya Dizinlenmiş damgası alanı ekleyin 'a', sonra bir süre T yana güncellenen kayıtları birleştirme

İkinci yöntem silmeleri yayılmasının unutmayın.

C.