Web sitemde bu çevrimiçi masaya ulaşmak için her 5 dakikada bir mysqlimport
(toplu iş dosyası) kayıtlarını belirli bir tabloya aktarıyorum.MySQL tetikleyicisi ekleyerek (tablo aracılığıyla) tablo oluşturmak ve oluşturmak için (0)
Şu anda bir Windows toplu iş dosyasında çalıştırılan 2 .sql
dosyasını uzak bir veritabanına gönderdim: 1 SQL komutu, tabloyu oluşturmak ve sonra da CSV ile tabloyu doldurmak için mysqlimport
ile ikinci bir komut.
Daha iyi bir yol benim toplu dosyadan bir mysqlimport
komutu göndermek ve bu özel DB üzerine eklemek ve yeni kayıtlar eklemeden önce yeniden oluşturmak için veritabanı üzerine bir tetikleyici olması gerekip gerekmediğini merak ediyordum Tablo düştüğü an arasında yeniden oluşan bir boşluk (kayıt yok), yeniden yaratıldı ve daha sonra çok şey olan CSV ile dolduruldu.
Böyle bir tetikleyiciyi nasıl uygulayacağınız hakkında bir fikriniz var mı? Tablonun online_players tablonun
Yapısı:
+-------------------+--------------+------+-----+---------+-------+
| Agent | varchar(255) | YES | | NULL | |
| Name | varchar(255) | YES | | NULL | |
| Alias | varchar(255) | YES | | NULL | |
| Begin_Date | varchar(100) | YES | | NULL | |
| LastBalanceUpdate | varchar(100) | YES | | NULL | |
| Session_minutes | varchar(100) | YES | | NULL | |
| Balance | varchar(100) | YES | | NULL | |
| Product | varchar(100) | YES | | NULL | |
+-------------------+--------------+------+-----+---------+-------+
Bu tablo için tanımlanmış benzersiz bir anahtarınız var mı? Eğer öyleyse, yeni bir CSV dosyası ile yeniden yüklemek için gereken her seferinde tabloyu yeniden oluşturmak zorunda kalmadan eşsiz anahtar üzerindeki '' mysqlimport'' '' '' seçeneğini kullanabilmeniz gerekir .. – vmachan
Hayır ama bir tane ayarlayabilirim up. İçe aktarmadan önceki satırların değiştirileceğini anladım mı? masa bırakmaya gerek kalmadan? –
Sonunda bilmediğim -d veya --delete parametresini kullanıp ekleme yapmadan önce tablodaki tüm satırları silerim. Yardım ettiğin için teşekkür ederim! –