2017-07-23 19 views
0

我不經常使用MySQL的工作臺,我試圖通過選擇TEXT()來創建一個文本列的表,但我不知道我應該把什麼樣的價值之間的「() 」。如果我離開它留空它給我的錯誤:MySQL工作臺TEXT()列參數

給定的數據類型 TEXT() 包含錯誤和不能接受。而以前的值則保留。

我可以在括號內放一個數字,但我想知道它是如何影響列的。

我在網上找不到任何答案。我知道它是如何影響諸如DATETIME()之類的東西,但不是這種數據類型。

回答

0

在TEXT(M)中M是可選的長度。從the docs

An optional length M can be given for this type. If this is done, MySQL creates the column as the smallest TEXT type large enough to hold values M characters long.

所以,你可以用它來指定爲預期的字段中的字符的最大數量。

如果您省略了parens - 只是TEXT,它將默認爲65,535。否則,如果您提供的括號和值將默認爲相應的文字類型(TINYTEXT,TEXT,MEDIUMTEXT,LONGTEXT)。

與VARCHAR比較,請參閱here。一個區別是,你不能直接索引的文本字段,它需要一個前綴。

+0

謝謝,我想我正在考慮數據類型錯誤。我想如果我們把它留空,它會默認一些值。 – user126865

+0

我已經爲我的答案添加了更多信息。 –

+1

是的,你可以索引一個文本字段,只是你必須使用一個前綴。 – Shadow