大家好,我是菜鸟,网上找了,书上看了,但我的这个表的字段名为什么就改不了呢?
+-------------+--------------+--------------+
! NUM ! user ! password !
+-------------+--------------+--------------+
!001 ! 陆俪琪 !abbcd !
!002 ! 骆美琳 !ccdjki !
。。。。
如果我想把这个表的 password 段名,改成CHENGJI,并且下列对应的属性值由以前的varchar(50) 类型换成 int(10),请问这个命令我该怎么写呢?
非常感谢你,试了,不行,另外最后那个"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)
就行了,非常非常感谢你,我也郁闷了很久
嗯,不同类型的字段不是随随便便就能转的,
比如这个字符型 转为 整型的--- 这个跨越多大啊, 我原来的password数据放到哪(数据库一脸迷茫的样子)?
不如直接drop 掉这个字段(删除列),再新建字段。
--删除列