Forum
Merhaba,
MySQL yedekleyen bir sayfam var eskiden her satıra INSERT ekle diyordum buda büyük veritabanıda boyutu artırıyordu bende her 200 satırda bir INSERT ekle seçeneği yapmaya çalıştım birde satır boyutunu ölçüyorum eskiden yaptım şimdi unuttum kod aşağıda
Geçerlerde şöyle bir sorun oluştu:
örnek: 600 satırlık bir tablo her 200 satıda bir INSERT ekledi ama üçüncü 200 satır sonrası yanı 601. satır yoktu ");" ekledi buda geri yüklemede hata oluştu veritabanı açtım elle düzelttim geri yükledim demekki burada 200 kat sayılı satırlarda satırın bittiğini anlayamıyor
Her 200 satırdan sonra bir INSERT ekle dediğimizde 201. varmı diye kontrol etmek mümkün olurmu? Yoksa bitti diğer tabloya devam et gibi birşey yada her 200 satırda bir derken her 199 satırda bir INSERT eklesin
Kafam karıştı
[php]
$kat = 200;
if ($s % $kat == 0 OR $satir_boyutu > 3000 AND $s != ( $numrow - 0 )) {
$return .= ");\n";
unset($satir_boyutu);
$return .= 'INSERT INTO `' . trim($table) . '` (';
$sutunsayisi = count($sutunlar);
for ($u = 0; $u < $sutunsayisi; $u++) {
$return .= "`".$sutunlar[$u]."`";
if ($u < ($sutunsayisi - 1)) {
$return .= ', ';
}
}
$return .= ") VALUES\n";
}elseif( $s != ( $numrow - 0 )){
$return .= "),\n";
}
[/php]
İşte böyle bir sorun, tam 200 satır veri olan tablo ayarladım aonuç hata ");" 201. yok INSERT ekleme nasıl diyebiliriz?
[PHP](1014, 532, 0, 4, 0),
(1024, 538, 0, 4, 0);
INSERT INTO `useractivation` (`useractivationid`, `userid`, `type`, `usergroupid`, `emailchange`) VALUES
);[/PHP]
Sorunu halletim
if ($s % $kat == 0 AND $s != ( $numrow - 0 ) OR $satir_boyutu > 3000 AND $s != ( $numrow - 0 )) {
Bu şekilde