我想把多个列的数据类型从float改为int。最简单的方法是什么?
目前还没有数据可以担心。
我想把多个列的数据类型从float改为int。最简单的方法是什么?
目前还没有数据可以担心。
当前回答
你使用alter表…改变……方法,例如:
mysql> create table yar (id int);
Query OK, 0 rows affected (0.01 sec)
mysql> insert into yar values(5);
Query OK, 1 row affected (0.01 sec)
mysql> alter table yar change id id varchar(255);
Query OK, 1 row affected (0.03 sec)
Records: 1 Duplicates: 0 Warnings: 0
mysql> desc yar;
+-------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| id | varchar(255) | YES | | NULL | |
+-------+--------------+------+-----+---------+-------+
1 row in set (0.00 sec)
其他回答
https://dev.mysql.com/doc/refman/8.0/en/alter-table.html
您还可以为列设置默认值,只需在值后面添加default关键字。
ALTER TABLE [table_name] MODIFY [column_name] [NEW DATA TYPE] DEFAULT [VALUE];
这也适用于MariaDB(测试版本10.2)
Alter TABLE `tableName` MODIFY COLUMN `ColumnName` datatype(length);
Ex :
Alter TABLE `tbl_users` MODIFY COLUMN `dup` VARCHAR(120);
你使用alter表…改变……方法,例如:
mysql> create table yar (id int);
Query OK, 0 rows affected (0.01 sec)
mysql> insert into yar values(5);
Query OK, 1 row affected (0.01 sec)
mysql> alter table yar change id id varchar(255);
Query OK, 1 row affected (0.03 sec)
Records: 1 Duplicates: 0 Warnings: 0
mysql> desc yar;
+-------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| id | varchar(255) | YES | | NULL | |
+-------+--------------+------+-----+---------+-------+
1 row in set (0.00 sec)
你也可以用这个:
ALTER TABLE [tablename] CHANGE [columnName] [columnName] DECIMAL (10,2)
如果要更改列详细信息、设置默认值并添加注释,请使用此选项
ALTER TABLE [table_name] MODIFY [column_name] [new data type]
DEFAULT [VALUE] COMMENT '[column comment]'