MySQL 錯誤:“Data too long for column” 是什麼意思?


當您插入的資料長度超過列所能儲存的長度時,就會出現“Data too long for column”錯誤。

例如 - 如果您使用的是 varchar(6) 資料型別,這意味著它只能儲存 6 個字元。因此,如果您輸入超過 6 個字元,就會出現錯誤。

讓我們建立一個表來理解這個錯誤。建立表的查詢如下所示:

mysql> create table DataToolongDemo
  −> (
  −> Name varchar(10)
   −> );
Query OK, 0 rows affected (0.55 sec)

上面,我們成功建立了一個表。我們設定了一個名為“Name”的欄位,其型別為“varchar(10)。現在,如果我們輸入超過 10 個字元,就會出現錯誤。

錯誤如下所示:

mysql> insert into DataToolongDemo values('Carol Taylor');
ERROR 1406 (22001): Data too long for column 'Name' at row 1

要解決上述錯誤,您可以將型別設定為 longtext。以下查詢將型別從“varchar”更改為 longtext:

mysql> alter table DataToolongDemo change Name Name longtext;
Query OK, 0 rows affected (2.22 sec)
Records: 0 Duplicates: 0 Warnings: 0

現在,如果您插入相同的記錄,就不會出現錯誤了:

mysql> insert into DataToolongDemo values('Carol Taylor');
Query OK, 1 row affected (0.11 sec)

使用 select 語句顯示錶中的所有記錄。查詢如下所示:

mysql> select *from DataToolongDemo;

以下是輸出:

+--------------+
| Name         |
+--------------+
| Carol Taylor |
+--------------+
1 row in set (0.00 sec)

更新於: 2019-07-30

20K+ 瀏覽量

開啟您的職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.