sql语句修改字段长度

Posted

tags:

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

alter table member modify column(phone char(15));
这句话有什么问题

SQL Server修改表的字段长度的语法规则及示例如下:

SQL格式:ALTER TABLE table_name(表名) ALTER Column column_name(列名) type_name(数据类型) null(是否允许NULL)

--将UserList表的Name字段长度修改为varchar(100)
ALTER TABLE UserList ALTER Column Name varchar(100) not null;

SQL Server 2008的教程示例如下图:


详细可查阅SQL Server安装目录文件夹中的【SQL Server教程】-查找【ALTER TABLE 语句】的教程。

参考技术A 语法:

alter table <表名> alter column <字段名> 新类型名(长度)

示例:假如有名T1,字段名F1,原来F1为varchar(3),现在要改为varchar(10),则可以这么写:
alter table T1 alter column F1 varchar(10)
请采纳。本回答被提问者采纳
参考技术B

oracle下这么执行

alter table member modify  phone char(15);

sqlserver下这么执行

alter table member alter column  phone char(15);

你到底用什么库

sql2008企业管理器中修改字段值报:将截断字符串或二进制数据。说字段长度不够的请绕开。

求高手解答,首先不存在字段定义长度不够的问题,这么二的问题不至于犯,网上查了一下有人说insert的trigger,这个trigger有一定的逻辑,需要记录hostname,但是我如果是在网站后台执行修改没问题,在企业管理器中任何修改都报错,真晕。

你所谓的在企业管理器中修改,是指用编辑功能直接图形化在数据上修改吗?
如果是的话,换用查询分析器用insert、update语句进行修改看结果如何
如果你真有触发器的话,再看下触发器中的表字段结构,
如果是程序修改没问题,那再看下程序中是否对数据进行了什么处理缩短了长度追问

是的,相当于在图形介面修改,之前都是好的,可以随便修改,突然一天就不能修改了,表结构没有动过,触发器是我在网上搜索到的一种可能答案,但是我的表没有这些,只是一些纯表,连关联都没有加,可以确定的是字段长度和数据格式是没有错误的,就是不知道mssql企业管理器在更新数据时还附加了些什么东西会突然导致这种错误。

追答

我上面说了,让你用在查询窗口执行insert、update语句是否可以
一般开发人员很少用这种图形化界面添加数据,都是用语句
标准而且不带系统附加生成的代码

参考技术A 很明显 要插入的数据的数据类型和表对应的字段的数据类型不匹配 我经常插数据都会遇到这样的错误 参考技术B 产生错误的两个原因:
1、字段长度不够(字段长度不够也会报这个错,只不过你的不是这个问题)
2、数据类型不对追问

不会存在类型不对,字符类型,随便输入都报错的,水平虽然不精通,基本的错误还是不得犯。

追答

请求贴代码。。没代码鬼知道你的问题。

参考技术C 建议用调试功能把sql语句执行一遍,就会发现问题的所在

以上是关于sql语句修改字段长度的主要内容,如果未能解决你的问题,请参考以下文章

求vfp中修改字段长度语句

mysql sql语句修改字段名称,字段长度

mysql中利用sql语句修改字段名称,字段长度等操作

mysql快速修改字段长度

Oracle/SQL 修改字段类型和长度

怎样用sql语句获取某个字段的长度