Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 14199|Atsakyti: 0

[Šaltinis] HEX ir UNHEX funkcijos naudojamos dvejetainių duomenų importui ir eksportui į mysql

[Kopijuoti nuorodą]
Paskelbta 2016-06-13 22:27:47 | | |

Atliekant mysql duomenų atsarginės kopijos kūrimo ir atkūrimo operaciją, susidūrė su problema: panaudojus sqlyog duomenų atsarginei kopijai, o po to atkūrus duomenis kitame serveryje, skyriklis "'" buvo prarytas dėl varbinarinio lauko vienoje iš lentelių (dėl dvejetainio kodavimo problemos kabučių skyriklis buvo traktuojamas kaip duomenų dalis), todėl duomenų nebuvo galima importuoti įprastai.

Kai kurie teksto įrankiai buvo naudojami apdorojimui, tačiau jie buvo nesėkmingi, kai kuriuos iš jų buvo galima atpažinti, tačiau automatiškai modifikavo dvejetainius užkoduotus duomenis, o kai kurie įterpdavo kitus dvejetainius duomenis, todėl vis dar buvo neįskaitomi.

Taigi apsvarstykite kitus metodus: perskaitykite duomenis ir parašykite SQL sakinį, tada importuokite jį. Konkretūs metodai yra šie:

(1) Naudokite funkciją HEX, kad nuskaitytumėte duomenis eksportuodami ir konvertuotumėte dvejetainius duomenis į šešioliktainę eilutę;

pasirinkite HEX(binField) iš testTable;

(2) Naudokite funkciją UNHEX, kad importavimo metu konvertuotumėte šešioliktainę eilutę į dvejetainių duomenų importo duomenų bazę;

įterpti į testTable binField reikšmes(UNHEX(@hexstr));



Šis kodas parodo HEX ir UNHEX funkcionalumą:

SELECT HEX('tai yra bandymo str') ir užklausos rezultatas yra: 746869732069732061207465737420737472
SELECT UNHEX('746869732069732061207465737420737472'), ir užklausos rezultatas yra: tai yra bandymo str

Taip pat galite tiesiogiai perskaityti šešioliktainį simbolį, prie eilutės pridėdami priešdėlį 0x:
SELECT 0x746869732069732061207465737420737472, užklausos rezultatas yra: tai yra bandymo str



Be to, taip pat galite naudoti dvejetainius importavimo ir eksporto metodus, kad sukurtumėte atsargines duomenų kopijas ir atkurtumėte. Čia nėra jokios diskusijos.




Ankstesnis:Discuz nerado įrašo pre_forum_post lentelės duomenų trūksta
Kitą:SQL XML darbo pradžios pamoka
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com