SORU
18 Mart 2010, PERŞEMBE


INSERT INTO ... YİNELENEN ... ANAHTARI GÜNCELLEŞTİRME SEÇİN

Çok sayıda sütun en benzersiz bir anahtarı zaten varsa, yeni değerler için güncelleştirilmesi gerekir ınsert sorgusu yapıyorum. Şöyle bir şey:

INSERT INTO lee(exp_id, created_by, 
                location, animal, 
                starttime, endtime, entct, 
                inact, inadur, inadist, 
                smlct, smldur, smldist, 
                larct, lardur, lardist, 
                emptyct, emptydur)
SELECT id, uid, t.location, t.animal, t.starttime, t.endtime, t.entct, 
       t.inact, t.inadur, t.inadist, 
       t.smlct, t.smldur, t.smldist, 
       t.larct, t.lardur, t.lardist, 
       t.emptyct, t.emptydur 
FROM tmp t WHERE uid=x
ON DUPLICATE KEY UPDATE ...; 
//update all fields to values from SELECT, 
//       except for exp_id, created_by, location, animal, 
//       starttime, endtime

UPDATE yan sözdizimi ne olması gerektiğinden emin değilim. Nasıl SELECT tümce geçerli satırın bakın?

CEVAP
18 Mart 2010, PERŞEMBE


MySQL fıkra İÇİNE başvurular sütun EKLE adlı eşittir önce kısmını üstlenecek, ve ikinci bölümü SEÇİN sütunlar referanslar.

INSERT INTO lee(exp_id, created_by, location, animal, starttime, endtime, entct, 
                inact, inadur, inadist, 
                smlct, smldur, smldist, 
                larct, lardur, lardist, 
                emptyct, emptydur)
SELECT id, uid, t.location, t.animal, t.starttime, t.endtime, t.entct, 
       t.inact, t.inadur, t.inadist, 
       t.smlct, t.smldur, t.smldist, 
       t.larct, t.lardur, t.lardist, 
       t.emptyct, t.emptydur 
FROM tmp t WHERE uid=x
ON DUPLICATE KEY UPDATE entct=t.entct, inact=t.inact, ...

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jose LviS el Bambino ( JLB )   LviSito

    Jose LviS el

    3 ŞUBAT 2008
  • Animation Workshop

    Animation Wo

    8 NİSAN 2010
  • Dumb Stupid Videos

    Dumb Stupid

    26 Kasım 2013