要更新列大小,可以使用alter命令。语法如下 -
alter table yourTableName change yourColumnName yourColumnName data type;
为了理解上述语法,让我们创建一个表。创建表的查询 -
mysql> create table DataTruncated
−> (
−> id int,
−> Name varchar(5)
−> );
Query OK, 0 rows affected (0.64 sec)
看看上面的“Name”列,列大小为 5。每当我们给出的大小大于 5 时,MySQL 就会给出以下错误 -
mysql> insert into DataTruncated values(101,'JohnSmith');
ERROR 1406 (22001): Data too long for column 'Name' at row 1
现在更新“名称”列的列大小。查询如下 -
mysql> alter table DataTruncated change Name Name varchar(200);
Query OK, 0 rows affected (2.01 sec)
Records: 0 Duplicates: 0 Warnings: 0
将相同的记录插入到表中。现在,由于我们将列大小从 5 更新为 25,因此没有可见错误 -
mysql> insert into DataTruncated values(101,'JohnSmith');
Query OK, 1 row affected (0.11 sec)
显示记录 -
mysql> select *from DataTruncated;
以下是输出 -
+------+-----------+
| id | Name |
+------+-----------+
| 101 | JohnSmith |
+------+-----------+
1 row in set (0.00 sec)