色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

mysql新增列為text時報錯

錢淋西2年前9瀏覽0評論

在使用MySQL數(shù)據(jù)庫時,我們有時需要向已有的表中新增列。其中,如果新增列的數(shù)據(jù)類型為text類型,有時候會遇到報錯的情況。以下是一個具體的案例。

ALTER TABLE table_name ADD COLUMN column_name TEXT;

在執(zhí)行上述語句時,可能會出現(xiàn)以下報錯:

ERROR 1118 (42000): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs

這個錯誤的具體原因是因為MySQL內(nèi)部規(guī)定,每行數(shù)據(jù)的大小不能超過65535個字節(jié)。如果在新增一個text類型的列之后,這行數(shù)據(jù)的大小超過了這個上限,就會報錯。

解決這個報錯的方法比較簡單,我們只需要在新增列的同時,將某些原有列的數(shù)據(jù)類型從varchar改為text即可。具體方法如下:

ALTER TABLE table_name MODIFY COLUMN column_name varchar(255) NOT NULL, ADD COLUMN new_column_name text NOT NULL;

在上面的語句中,我們將原有列的數(shù)據(jù)類型從varchar改為了text,并新加了一個數(shù)據(jù)類型為text的列。這樣,我們就能夠成功地向表中新增一列數(shù)據(jù)類型為text的列了。

總的來說,新增一個text類型的列時,如果遇到報錯,我們只需要將其他列的數(shù)據(jù)類型改為text即可。