MySQL中的VARBINARY
類型用于存儲(chǔ)可變長(zhǎng)度的二進(jìn)制數(shù)據(jù)
在MySQL中,VARBINARY
類型的數(shù)據(jù)長(zhǎng)度限制取決于存儲(chǔ)引擎和字符集。對(duì)于大多數(shù)常見(jiàn)的存儲(chǔ)引擎(如InnoDB和MyISAM),VARBINARY
類型的最大長(zhǎng)度為65,535字節(jié)(即64KB)。這是因?yàn)镸ySQL使用2個(gè)字節(jié)(16位)來(lái)存儲(chǔ)VARBINARY
類型的長(zhǎng)度信息。
然而,如果你使用的是ROW_FORMAT=DYNAMIC
或ROW_FORMAT=COMPRESSED
的InnoDB表,那么VARBINARY
類型的最大長(zhǎng)度可以達(dá)到1GB。這是因?yàn)镮nnoDB使用可變長(zhǎng)度的存儲(chǔ)格式來(lái)存儲(chǔ)行數(shù)據(jù),并且可以使用更多的字節(jié)來(lái)存儲(chǔ)VARBINARY
類型的長(zhǎng)度信息。
需要注意的是,當(dāng)你創(chuàng)建一個(gè)包含VARBINARY
類型列的表時(shí),你需要指定列的最大長(zhǎng)度。例如:
CREATE TABLE example (
id INT AUTO_INCREMENT PRIMARY KEY,
data VARBINARY(1024) -- 最大長(zhǎng)度為1024字節(jié)
);
在這個(gè)例子中,data
列的最大長(zhǎng)度被設(shè)置為1024字節(jié)。你可以根據(jù)實(shí)際需求調(diào)整這個(gè)值,但請(qǐng)確保它不超過(guò)上述所述的最大限制。