如何修改mysql 字段类型??

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何修改mysql 字段类型??相关的知识,希望对你有一定的参考价值。

mysql> ALTER TABLE chatter_users alter column ip varchar(50) NULL;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'varc
ar(50) NULL' at line 1
mysql> desc chatter_users;
+----------+-------------+------+-----+---------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------------------+----------------+
| id | int(10) | NO | PRI | NULL | auto_increment |
| time | datetime | NO | | 0000-00-00 00:00:00 | |
| username | varchar(50) | NO | UNI | NULL | |
| ip | varchar(50) | NO | | NULL | |
| password | varchar(20) | NO | | NULL | |
| isadmin | tinyint(1) | NO | | 0 | |
+----------+-------------+------+-----+---------------------+----------------+
6 rows in set (0.00 sec)

mysql>
ALTER TABLE chatter_users alter column ip varchar(50) NULL;
如果全部修改呢?
主要想把ip 字段允许空值(null) ,我上面的sql写错了

1、授权mysql在远程机器上以登录。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'host' IDENTIFIED BY 'pwd' WITH GRANT OPTION。
2、修改字段名称和类型。
--alter table upload change column <old name> <new name> <new datatype>
alter table filetable change column fdata fdata MediumBlob
3、MySQL BLOB。
MySQL中,BLOB是一个二进制大型对象,是一个可以存储大量数据的容器,它能容纳不同大小的数据。BLOB类型实际是个类型系列(TinyBlob、Blob、MediumBlob、LongBlob),除在存储的最大信息量上不同,基本是等同的。
MySQL的四种BLOB类型;类型、大小(单位:字节):
1、TinyBlob 最大 255 。
2、Blob 最大 65K。
3、MediumBlob 最大 16M。
4、LongBlob 最大 4G。
实际使用中根据需要存入的数据大小定义不同的BLOB类型。注意:如存储的文件过大,数据库的性能会下降。
参考技术A 使用ALTER命令修改,格式:
ALTER
TABLE
表名
MODIFY
COLUMN
字段名
字段类型定义;
例如:
ALTER
TABLE
chatter_users
MODIFY
COLUMN
ip
VARCHAR(50);
参考技术B ALTER TABLE chatter_users MODIFY COLUMN ip VARCHAR(50);本回答被提问者采纳

以上是关于如何修改mysql 字段类型??的主要内容,如果未能解决你的问题,请参考以下文章

如何批量修改mysql数据库表的字段类型

如何在mysqlworkbench的表的某一字段类型是enum

如何解决mysql enum 类型字段的插入问题

如何更改Mysql 表字段为unique

mysql 如何修改 删除 添加 表主键

MySQL数据表的修改:修改字段类型