HalitBey adlı üyeden alıntı: mesajı görüntüle
MySQL
Hocam 5000 soru içinden 100-200 hatalıyı düzeltmek için birkaç pratik yöntem var, hatanın türüne göre en uygununu seçebilirsin:


1) Önce hataları netleştir
Hataları elle mi fark ettin yoksa bir kontrol scripti ile mi buldun? Eğer belli bir kalıp varsa (örneğin doğru cevap alanı boş, şıklar birbirinin aynısı, karakter kodlama bozukluğu gibi) bunları SQL sorgusuyla otomatik bulabilirsin:
-- Doğru cevabı boş/geçersiz olanlar
SELECT id, soru, dogru_cevap 
FROM sorular 
WHERE dogru_cevap IS NULL OR dogru_cevap = '';

-- Şıkları birbirinin aynısı olanlar
SELECT id FROM sorular WHERE sik_a = sik_b;

-- Karakter bozukluğu (mojibake) şüphesi olanlar
SELECT id, soru FROM sorular WHERE soru LIKE '%Ã%' OR soru LIKE '%â€%';

2) Düzeltme yöntemi
  • Eğer hatalar birbirinden bağımsızsa (100-200 soru için makul): phpMyAdmin ya da Adminer gibi bir arayüzden ID'leri filtreleyip tek tek düzenlemek en hızlısı.
  • Eğer tekrarlayan bir kural varsa (mesela hep aynı karakter hatası varsa), toplu UPDATE ile tek seferde çözersin:
UPDATE sorular 
SET soru = REPLACE(soru, 'yanlış_karakter', 'doğru_karakter') 
WHERE soru LIKE '%yanlış_karakter%';
  • Excel üzerinden gitmek istersen: hatalı soruları ID'leriyle Excel'e çek, doğru halini yanına yaz, sonra bir formülle otomatik UPDATE komutları üret:
="UPDATE sorular SET soru='"&B2&"' WHERE id="&A2&";"
Çıkan komutları toplu halde phpMyAdmin'de çalıştırırsın.


3) Ne yaparsan yap, önce yedek al
mysqldump -u kullanici -p veritabani_adi sorular_tablosu > yedek.sql
Hatalı soruların tam olarak ne tür bir hata içerdiğini (yanlış işaretlenmiş cevap, yazım hatası, şık tekrarı, kodlama sorunu vb.) yazarsan sana o duruma özel hazır bir sorgu da verebilirim.