mysql遷移達(dá)夢(mèng)列長度超出定義的簡單解決方法
一、問題概述
mysql遷移達(dá)夢(mèng)遇到列長度超出定義,錯(cuò)誤如下
造成此錯(cuò)誤原因是達(dá)夢(mèng)存放不下mysql遷移過來的字符串,在早期版本8.1.3.162之前,通過設(shè)置length_in_char=1來進(jìn)行規(guī)避,但是這種方式實(shí)際上擴(kuò)大了數(shù)據(jù)精度,造成能存放超過設(shè)置的長度的數(shù)據(jù)。
在8.1.3.162版本之后,取消了此參數(shù),length_in_char無法設(shè)置 只能為0 ,因?yàn)檫_(dá)夢(mèng)底層是以字節(jié)單位存儲(chǔ),mysql是以字符,通過遷移工具遷移到達(dá)夢(mèng)會(huì)出現(xiàn)varchar char長度不夠的問題。
二、解決辦法
2.1、問題復(fù)現(xiàn)
length_in_char=0的情況下(新版本取消,此參數(shù)只能是0) 字符集UTF8情況下
比如 mysql varchar(10) 能存放10個(gè)中文 ,到達(dá)夢(mèng)varchar(10)只能存放三個(gè)中文,UTF8字符集 一個(gè)中文占用三個(gè)字節(jié)。
但是可以通過 將varchar(10)修改成varchar(10 char)強(qiáng)制為字符存儲(chǔ),到達(dá)夢(mèng)也能存放10個(gè)中文字符
2.2 遷移工具設(shè)置
在遷移工具中設(shè)置映射關(guān)系
第一步:設(shè)置數(shù)據(jù)類型映射
第二步:配置映射關(guān)系
在選擇遷移對(duì)象界面查看表結(jié)構(gòu)是否轉(zhuǎn)換
第三步:開始遷移
總結(jié)
到此這篇關(guān)于mysql遷移達(dá)夢(mèng)列長度超出定義解決方法的文章就介紹到這了,更多相關(guān)mysql遷移達(dá)夢(mèng)列長度超出定義內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Mysql支持的數(shù)據(jù)類型(列類型總結(jié))
MySQL支持大量的列類型,它可以被分為3類:數(shù)字類型、日期和時(shí)間類型以及字符串(字符)類型。本節(jié)首先給出可用類型的一個(gè)概述,并且總結(jié)每個(gè)列類型的存儲(chǔ)需求,然后提供每個(gè)類中的類型性質(zhì)的更詳細(xì)的描述2016-12-12MySQL服務(wù)器 IO 100%的分析與優(yōu)化方案
這篇文章主要給大家介紹了關(guān)于MySQL服務(wù)器 IO 100%的相關(guān)資料,文中通過示例代碼介紹的介紹非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用mysql具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-10-10詳解遠(yuǎn)程連接Mysql數(shù)據(jù)庫的問題(ERROR 2003 (HY000))
本篇文章是對(duì)遠(yuǎn)程連接Mysql數(shù)據(jù)庫的問題進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06MySQL 數(shù)據(jù)庫兩臺(tái)主機(jī)同步實(shí)戰(zhàn)(linux)
MySQL支持單向、異步復(fù)制,復(fù)制過程中一個(gè)服務(wù)器充當(dāng)主服務(wù)器,而一個(gè)或多個(gè)其它服務(wù)器充當(dāng)從服務(wù)器。主服務(wù)器將更新寫入二進(jìn)制日志文件,并維護(hù)日志文件的一個(gè)索引以跟蹤日志循環(huán)。2009-04-04MySQL中SQL連接操作左連接查詢(LEFT?JOIN)示例詳解
這篇文章主要給大家介紹了關(guān)于MySQL中SQL連接操作左連接查詢(LEFT?JOIN)的相關(guān)資料,左連接(LEFT?JOIN)是SQL中用于連接兩個(gè)或多個(gè)表的一種操作,它返回左表的所有行,并根據(jù)連接條件從右表中匹配行,需要的朋友可以參考下2024-12-12檢查mysql是否成功啟動(dòng)的方法(bat+bash)
這篇文章主要介紹了檢查mysql是否成功啟動(dòng)的方法(bat+bash),如果mysql沒有啟動(dòng)則開啟服務(wù),需要的朋友可以參考下2016-06-06