1. 打开DM管理工具箱,连接到需要修改字段长度的数据库。
2. 在左侧导航栏中找到需要修改字段长度的表,右键点击该表,选择“修改表结构”。
3. 在d出的“修改表结构”窗口中,找到需要修改长度的字段。在该字段所在的行,将光标放置在该行的“长度”列,输入新的长度值,并按下“回车”键。
4. 在页面底部,点击“应用”按钮,然后点击“提交”按钮,确认修改 *** 作。
5. 等待系统提示修改完成后,关闭该窗口即可。
需要注意的是,在修改字段长度之前,一定要先备份好原始数据,并在非生产环境中进行测试,以确保不会对现有数据产生影响。
分类: 电脑/网络 >>程序设计 >>其他编程语言问题描述:
这样一张表:
字段19个,其中 Clob 6个,varchar(2000) 10个。
数据库页面大小是默认的16K,资料上说这种情况
下,一行数据的所有字段的长度累加不能大于8000,
那该怎么建?
达梦对表中使用 Clob 类型有没有其它要求?
解析:
建表没有问题,因为VARCHAR类型不管多大都不会分配实际空间的,而如果使用CHAR的话则会分配实际的空间
在插入的数据时候,如果一行中VARCHAR那几个字段总长度加起来超过8000的话会报错
clob字段的数据是另外存储的,使用没有什么特别的要求,用法是clob(长度),最大长度为2G-1字节,定义长度指明了在clob字段中可以接受的最大字节长度.如不定义长度,缺省为2G-1
不同的变易语言有不同的截取字符串的函数,错误类型也不相同,以下提供的是数据库字符串截取问题在varchar(1000)上报错字符串截断,于是改为varchar(8000)仍然报错。
通过对该条语句插入的记录进行多次修改并测试,发现“记录超长”错误不是某个字段长度超过了定义的字段类型长度,而是该条记录的所有字段的值加在一起超过了一定长度。
这个“长度”是由数据库的页大小决定的,即达梦数据库中一行记录的所有字段的实际长度的和不能超过页大小的一半
在达梦数据库中,一行记录所有字段长度累加不能大于下表:
解决方法
目前测试过的解决方法如下:
重新创建数据库,将数据库的页大小设为“16K”或以上;
达梦数据页大小在创建数据库时设置,设定之后不能更改。
将字段类型改为TEXT、CLOB、BLOB等大字段。
在数据库文件中,TEXT、CLOB、BLOB等大字段采用和普通字段不同的、特殊的存储方式,不占用该条记录的页大小。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)