Merhaba arkadaşlar.
Ben yaklaşık 80 k 'lık içerik yüklü tablom var tablomdaki verilerin id sıralarını karıştırarak yeni bir tabloya kopyalamak istiyorum.
Bunu tek tek olarak curl ile yapabiliyorum fakat birden yapabilme şansım var mı ?
Sql Tabloyu hem kopyalamak hem karıştırmak
11
●2.291
- 18-05-2009, 12:48:52Üyeliği durduruldukarıştırmak derken, ne yapmak istiyorsunuz tam olarak?
- 18-05-2009, 12:49:09select * from tablo order by rand de
sonrada gelen verileri yeni tabloya ekle - 18-05-2009, 13:02:15hocam 80 bin idli tabloyu bu sekilde kopyala/yapıştır mantıgıile yapabilecek bir bilgisayara sahip değilim bu azar azar yapmakta çok meşakatli olur.erkutarhan adlı üyeden alıntı: mesajı görüntüle
@sdemirkeser hocam benim 2 adet veritabanım var.
Bunlar
r10 ve r11
r10'un içinde 80 k lık bir veri var. Ben bu verileri r11 adlı veritabanına kopyalayacağım fakat kopyalarken rand mantıgını kullanmak istiyorum yani r10'da @sdemirkeser'in bilgiri id=454 te kayıtlı r11 de bunun 77454. (sadece örnek bu 9874 te olabilir) id ile kayıt olmasını istiyorum.
umarım anlatabildim. - 18-05-2009, 13:09:55Üyeliği durduruldueğerki kod yazarak yapmak istemiyorum derseniz çok fazla rand olmayacak aslında bir mantık çerçevesinde de yapilabilir şöyleki;Bemica adlı üyeden alıntı: mesajı görüntüle
1. seçenek en pratigi tablolarin id lerini ters çevirebilirsiniz
küçük rakamlarla konuşalım 1,2,3,4,5 id li kaydınız olsun en son id bu durumda 5 tir
tüm id leri calisma alanımızın dışına taşıyalım;
update tablo set id = id + 5
id lerimiz 6,7,8,9,10 gibi oldu
daha sonra id leri ters çevirelim. en büyük id miz artık 10 idi
update tablo set id = 11 - id);
bu durumda id lerimiz şu şekilde olmuş olur.
5,4,3,2,1
diğer bir alternatif olarak @erkutarhan dedigi gibi de yapabilirsiniz rand ile.
ama bunda php kodu yazmaniz şart; - 18-05-2009, 13:20:29hocam ben zaten php kodu ile yapmak istiyorum.sdemirkeser adlı üyeden alıntı: mesajı görüntüle
aslında sizin verdiğiniz örneklede olabilir mantık tam benim istediğim gibi ama büyük oluncada açıkçası korkuyorum bir hata yaparım diye.
Bana php kodu yapılmaıs gereken mantıgı söyleriniz ben kodları yazarım. - 18-05-2009, 13:53:45Üyeliği durdurulduverdigim örnekte limitlerle hareket ederseniz parça parça işlem yapar sorun yaşamazsınız.Bemica adlı üyeden alıntı: mesajı görüntüle
kod yazarak ise @erkutarhan in dedigi gibi
select * from tablo order by rand() limit 1
dersiniz
rastgele tek kayıt çekmiş olursunuz.
bunun ikinci tabloya yazar bu çektiginiz veriyi delete from tablo ile silerseniz.
ama daha az ugrasmak için ilk mantigi tavsiye ederim. buna benzer başka mantiklarda olabilir tabiki. - 18-05-2009, 14:15:07evet eğer rand yapacaksan php kodu şart
bi sayfada 2 farklı veritabanına bağlanabilirsin
ayrıca şöyle de olabilir
update tablo set id=id+1000
id si 15 olan 1015 olur,sadece id ler artmış olur
anlayacağın php yada başka bi dil kullanmadan zor işin
birde mysql de while,for döngüleri var ama zor olur
en iyisi kısa bi php kodu - 18-05-2009, 14:17:46$baglanti1=mysqll_connect(.................);
$baglanti2=mysql_connect(............);
$sorgu=mysql_query("select * from tbl order by rand()",$baglanti1);
while($oku=mysql_fetch_array($sorgu))
{
mysql_query("INSERT INTO .....",$baglanti2);
}
$baglanti1 ile okudum
$baglanti2 ile yazdım
ok?