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ş:
Ekle aynı Anahtarı Güncelleştirme Yine...
Neden INSERT deyim seçin() bir tamsayı...
Android: otomatik debug/release Harita...
Birden çok satır için YİNELENEN KEY UP...
MySQL - ınsert hata: yinelenen giriş...