如何修改 MySQL 表中列的大小?
mysqlmysqli database更新于 2024/1/28 14:25:00
我们可以借助 ALTER 命令修改列的大小。让我们看看如何修改列的大小。假设我们定义任何具有一定大小的列。在插入时,如果我们给出的大小比我们定义的要大,那么就会产生错误。
修改大小时可以减少上述问题。为了更好地理解,我们可以借助 CREATE 命令创建一个表 −
mysql> CREATE table ModifyColumnNameDemo -> ( -> id int, -> StudentName varchar(10) -> ); Query OK, 0 rows affected (0.45 sec)
成功创建表后,我们可以借助 INSERT 命令将记录插入表中。
mysql> INSERT into ModifyColumnNameDemo values(1,'CarolTaylor'); ERROR 1406 (22001): Data too long for column 'StudentName' at row 1
从上面的查询中,我们得到了错误 1406。修改列时可以解决此错误。我们可以使用 ALTER 命令。以下是语法 −
ALTER table yourTableName modified column_name;
应用上述查询将列的大小修改为某个大小 −
mysql> ALTER table ModifyColumnNameDemo modify StudentName varchar(200); Query OK, 0 rows affected (1.54 sec) Records: 0 Duplicates: 0 Warnings: 0
之后我们可以检查列名"StudentName"的大小为 200。查询如下 −
mysql> DESC ModifyColumnNameDemo;
以下是输出 −
+-------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------+--------------+------+-----+---------+-------+ |id | int(11) | YES | | NULL| | | StudentName | varchar(200) | YES | | NULL | | +-------------+--------------+------+-----+---------+-------+ 2 rows in set (0.04 sec)
查看上面的 StudentName 列,大小已更改为 200。现在我们可以将记录插入表中,并且不会出现任何错误。让我们检查一下 −
mysql> INSERT into ModifyColumnNameDemo values(1,'CarolTaylor'); Query OK, 1 row impacted (0.14 sec)
上面的记录已成功插入表中。我们可以借助 SELECT 命令显示上面插入的记录 −
mysql> SELECT * from ModifyColumnNameDemo;
以下是输出 −
| id | StudentName | +------+-------------+ | 1 | CarolTaylor| +------+-------------+ 1 row in set (0.00 sec)
查看上面的输出,修改列的大小后,记录已成功插入。