Veritabanı Ayrı veritabanları arasında veri kopyalamak - R10.net
Ivvo
İgtr
Kurumedya
Sosyal Banka
Ticimax
  • 14-01-2022, 19:42:33
    #1
    Merhaba, yapmak istediğim şey 2 ayrı veritabanı arasında veri kopyalamak, Aşağıda yazdığım şekilde veriyi kopyalayabiliyorum ancak diyelim B veritabanında hali hazırda 10 satır varsa 11. satırı oluşturup 12-13-14 .... yeni satırlar oluşturup kopyalama işlemini yapıyor. 2 veritabanında da satır sayıları eşit ve ayrıca 2 veritabanına da id'leri tanımladım o şekilde de eşlemeye çalıştım ozaman versiyon kaynaklı kod çalışmadı. Yardımcı olabilcek varsa sevinirim Veritabanı sürümüm 10.2.40-MariaDB

    USE DB_A
    
    INSERT INTO DB_B.table_B.infoB
    
    SELECT table_A.infoA
    
    FROM table_A
    id'leri eşleyip sonuç almaya çalıştığım kod bloğu;
    USE DB_A
    
    INSERT INTO DB_B.table_B.infoB
    
    SELECT table_A.infoA
    
    FROM table_A
    
    WHERE DB_B.table_B.id= DB_A.table_A.id
  • SosyalMarket
  • 19-01-2022, 17:58:31
    #2
    Merhaba.

    id alanının primary key olduğunu düşünelim.

    1) B tablosunda olmayan değerler A'dan alınarak B'ye insert edilsin. Her iki tabloda aynı id değerli satırlar varsa, A'dan alınarak B'nin üzerine yazılsın:
    REPLACE INTO DB_B.table_B(id, infoB)
    SELECT A.id, A.infoA
    FROM DB_A.table_A A
    2) Sadece A tablosunda olup, B tablosunda olmayan id değerli satırlar B'ye eklensin (üzerine yazma olmasın):
    INSERT INTO DB_B.table_B(id, infoB)
    SELECT A.id, A.infoA
    FROM DB_A.table_A A
    WHERE NOT EXISTS (SELECT 1 FROM DB_B.table_B B WHERE B.id = A.id)
    Şeklinde olabilir. Kodları deneyemedim.
ComnetBacklink
ticimax
SosyalMarket
R10.net sizlere daha iyi hizmet sunmak için çerezleri kullanıyor.R10.net'i kullanarak çerezleri kullanmamızı kabul etmiş olacaksınız.
Detaylı bilgi almak için Gizlilik ve Çerez Politikası metnimizi inceleyebilirsiniz.
Yukarı