8 NİSAN 2009, ÇARŞAMBA
Yinelenen / aynı MySQL tablo kayıtları Kopyalama
Bir süredir araştırma yapıyorum ama benim sorunum için kolay bir çözüm bulamıyorum. Bir tabloda yinelenen kayıt etmek istiyorum, ama tabii ki, benzersiz, birincil anahtar güncelleştirilmesi gerekiyor.
Bu sorgu var:
INSERT INTO invoices
SELECT * FROM invoices AS iv WHERE iv.ID=XXXXX
ON DUPLICATE KEY UPDATE ID = (SELECT MAX(ID) 1 FROM invoices)
sorun bu sadece satır kopyalamak yerine satır ID
değiştirir. Herkes bunu düzeltmek için nasıl biliyor mu ?
//edit: alan adları zaman içinde değişebilir. çünkü tüm alan adlarını yazmaya gerek kalmadan bunu yapmak istiyorum
CEVAP
29 Mayıs 2010, CUMARTESİ
Ben genelde bunu bu şekilde geçici bir tablo kullanıyor. Muhtemelen hesaplama açısından verimli değil, ama iyi iş gibi görünüyor! Burada bütünüyle kayıt 99, 100 kaydı oluşturmak çoğaltarak ediyorum.
CREATE TEMPORARY TABLE tmp SELECT * FROM invoices WHERE id = 99;
UPDATE tmp SET id=100 WHERE id = 99;
INSERT INTO invoices SELECT * FROM tmp WHERE id = 100;
Bu işler senin için iyi umut!
Bunu Paylaş:
MySQL yinelenen kayıtları bul...
MySQL tablo Yinelenen...
KİMLİĞİ mysql bir tablo, bazan isteğe ...
MySQL bir tablo, dizin ve veri çoğaltm...
Nasıl bir MySQL tablo güncellendiği za...