Dubluve.net » join ile insert http://www.dubluve.net Biz de yazılımcıyız Sun, 31 Aug 2014 13:17:32 +0000 tr-TR hourly 1 http://wordpress.org/?v=3.9.1 mysql join insert http://www.dubluve.net/2011/11/23/mysql-join-insert/ http://www.dubluve.net/2011/11/23/mysql-join-insert/#comments Wed, 23 Nov 2011 10:48:02 +0000 http://dubluve.net/?p=424 Denormalizasyon yaptığım bir tablodaki longtext veri alanı olan sütunu ayrı bir tablo halinde sunmak istiyorum. Bu noktada, eski verilerin yeni yerine bir patch işlemi yapmadan taşımasını düşünmek adına, INSERT işlemini JOIN yaparak yapmak geldi aklıma. Bu konuda araştırdığıma göre;

Mysql de update, select ve delete query’lerinde yapılabilen JOIN ederek işlem yapma olayı , INSERT komutu ile çalışmamakta.

Yani sonuçta join edecek verisi yok ki içinde, ona göre işlem yapsın.

Bu noktada çözümü farklı bir yoldan bulmamız gerekti. ilk önce ilgili veri alanlarını select edip, yeni tablomuza  insert etmemiz gerekiyordu. Yaptık.

ÇÖZÜM

Yine mysql tarfında olayı çözebildik.
INSERT INTO tableNew (col1, col2)
SELECT tbl1.col1, tbl2.col2
FROM tbl1 LEFT OUTER JOIN tbl2 ON (tableNew.someColumn = tbl1.someColumn)

tabi on duplucate key kontrolü de isteğe göre yapılabilir.

]]>
http://www.dubluve.net/2011/11/23/mysql-join-insert/feed/ 0