小蹦请进
登录 | 论坛导航 -> 华新鲜事 -> 求学狮城 | 本帖共有 2 楼,分 1 页, 当前显示第 1 页 : 本帖树形列表 : 刷新 : 返回上一页
<<始页  [1]  末页>>
作者:我行故我 (等级:5 - 略有小成,发帖:1333) 发表:2004-09-28 18:24:19  楼主  关注此帖评分:
in mysql...改一个column的属性怎样改?如果该column是primary key呢? 比方说从varchar(20)改为numeric(20)... 谢了!
小蹦请进
suppose u want to change column a in table t, from varchar(20) to numeric(20) and change its name from a to b,
u can use

ALTER TABLE t CHANGE a b numeric(20);

value in the column will be truncated, if the memory of new type is not big enough to store this value;


As for primary key, if u want to change its type from one to another, u should make sure that there won't be two duplicate value in that column after u do the transformation. otherwise, it will refuse to do the job
Don't forget to always have a dream
我曾是孤单的飞鸟
飘荡在远方的天空
如今我已飞得太久
才知道我就是春天
我用力地挥动翅膀
开始寻找家的方向
我用力地挥动翅膀
溶进这宽阔的天空
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版所有回复从这里展开收起列表
作者:我行故我 (等级:5 - 略有小成,发帖:1333) 发表:2004-09-28 21:08:15  2楼
不行也。。。i use: ALTER TABLE t CHANGE a a numeric(20); got error: All parts of a PRIMARY KEY must be NOT NULL; If you need NULL in a key, use UNIQUE instead.. why? is it because the field 'a' is a primary key?
how come this error appear,...
after u do the altering????


do u have any null value which is ur primary key ?
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版所有回复从这里展开收起列表
论坛导航 -> 华新鲜事 -> 求学狮城 | 返回上一页 | 本主题共有 2 篇文章,分 1 页, 当前显示第 1 页 | 回到顶部
<<始页  [1]  末页>>

请登录后回复:帐号   密码