Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 14199|Yanıt: 0

[Kaynak] HEX ve UNHEX fonksiyonları, mysql'de ikili verilerin içe aktarılması ve dışına aktarılması için kullanılır

[Bağlantıyı kopyala]
Yayınlandı 13.06.2016 22:27:47 | | |

Mysql veri yedekleme ve kurtarma işleminde bir sorun yaşandı: veri yedeklemesi için sqlyog kullanıldıktan ve veri başka bir sunucuda geri alındıktan sonra, tablolardan birindeki varbiner alan nedeniyle "'" ayırıcısı yok edildi (ikili kodlama sorunu nedeniyle tırnak işareti ayırıcı verinin bir parçası olarak kabul edildi), böylece veri normal şekilde içe aktarılamadı.

İşleme için bazı metin araçları kullanıldı, ancak başarılı olmadı; bazıları tanınabiliyordu ancak ikili kodlanmış veri otomatik olarak değiştirildi ve bazıları başka ikili veriler ekleyerek hala okunamaz hale geldi.

Yani başka yöntemleri düşünün: veriyi okuyun ve SQL ifadesini yazın, sonra içe aktarın. Özel yöntemler şunlardır:

(1) Dışa aktarırken veriyi okumak için HEX fonksiyonunu kullanın ve ikili veriyi onaltılık bir diziye dönüştürün;

testTable'dan HEX(binField) seçeneğini seç;

(2) İç aktarma sırasında onaltılık diziyi ikili veri aktarma veritabanına dönüştürmek için UNHEX fonksiyonunu kullanın;

testTable binField values(UNHEX(@hexstr))'a ekleyin;



Aşağıdaki kod HEX ve UNHEX'in işlevselliğini göstermektedir:

HEX('bu bir test str') seçeneğini seçin ve sorgu sonucu şu olur: 746869732069732061207465737420737472
UNHEX('746869732069732061207465737420737472') seçin ve sorgu sonucu şudur: bu bir test str'dir

Ayrıca onaltılık karakteri doğrudan okuyarak diziye 0x preek eki ekleyebilirsiniz:
0x746869732069732061207465737420737472 SEÇ, sorgu sonucu şöyledir: bu bir test strüdür



Ayrıca, verileri yedeklemek ve geri yüklemek için ikili içe aktarma ve dışa aktarma yöntemleri de kullanabilirsiniz. Burada tartışma yok.




Önceki:Discuz, gönderi pre_forum_post tablo verilerinin eksik olduğunu bulmadı
Önümüzdeki:SQL XML Başlangıç Eğitimi
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com