mysql 怎样修改 字段名

大家好,我是菜鸟,网上找了,书上看了,但我的这个表的字段名为什么就改不了呢?
+-------------+--------------+--------------+
! NUM ! user ! password !
+-------------+--------------+--------------+
!001 ! 陆俪琪 !abbcd !
!002 ! 骆美琳 !ccdjki !
。。。。
如果我想把这个表的 password 段名,改成CHENGJI,并且下列对应的属性值由以前的varchar(50) 类型换成 int(10),请问这个命令我该怎么写呢?

alter table AAAAAA change password CHENGJI int(10) not null;
上面的 AAAAAA是你的表名,试试看吧。追问

非常感谢你,试了,不行,另外最后那个"not null",是什么意思呢?

追答

not null 是设置那个字段属性的,你把not null 去掉试试看,如果还是不行的话,我建议你找一个mysql 数据库管理工具修改也可以,我推荐你用 navicat 这个工具试试看。

追问

好的,另外刚那个命令 的错误提示是:
ERROR 1366 (HY000):Incorrect integer value;'abc' for column 'chengji' at row 1
好,我用这个工具改试试,但最好,我还是想知道在DOS下用什么样的命令比较好,不知道为什么就不行呢?

追答

可能是因为你的表里面已经有数据了,数据类型都是字符型的,你要改成int型的,所以就报错了。如果你要修改的话,建议先把数据修改一下,再改字段的类型。

追问

是的,表里有数据了, 那“password”的字段是varchar(50)型的,而如果我改名字成了“CHENGJI”,变成int(10)的话,这样,这两个类型是不兼容的,是不行的,所以后来这样写,
alter table student_chengji(我的表名) change column password CHENGJI varchar(50)
就行了,非常非常感谢你,我也郁闷了很久

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-01

嗯,不同类型的字段不是随随便便就能转的,

比如这个字符型 转为 整型的--- 这个跨越多大啊, 我原来的password数据放到哪(数据库一脸迷茫的样子)?

不如直接drop 掉这个字段(删除列),再新建字段。

--删除列
alter table tablename drop column password
--添加列
alter table tablename add chengji int(10) null

本回答被网友采纳
相似回答