找回密码
 立即注册

QQ登录

只需一步,快速开始

chenwm1722
初级会员   /  发表于:2021-6-2 10:25  /   查看:2583  /  回复:5
1金币
转换内建表报错,不知如何处理?

附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

看样子好像是字段的长度有问题,这是转MySQL外联库吧。 活字格内置数据库的varchar字段的长度,转换为MSSQL时全部默认为max,我没转换过MySQL,前段时间似乎有人提到过转换为MySQL时默认长度为500? MySQL有个很费解的要求,创建表的时候所有列字符长度加起来乘以2(gbk)或者是3(utf-8). 如果这个结果大于65535,就无法创建成功。 这样的话,可以尝试一下先在内置库中把某些文本字段修改成整数之类的,成功转换到之后,再 ...

5 个回复

正序浏览
Chelsey.Wang讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-6-3 17:41:55
6#
感谢支持~
回复 使用道具 举报
天朝四周处悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2021-6-3 17:00:40
5#
chenwm1722 发表于 2021-6-3 16:35
这应该是活字格的问题,活字格内置数据库的varchar字段的长度,转换为MYSQL时全部默认为max,我没转换过MyS ...

在活字格里右键字段,选择重新获取列类型


内置库用的是SQLITE,不同的数据库有不同的规则限制,这也是没办法。
对MySQL的支持好像是存在一些问题,但是都可以手动解决吧。如果使用外联库,最好是一开始就用外联库,并且在数据库中建表,活字格引入。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
chenwm1722
初级会员   /  发表于:2021-6-3 16:35:14
4#
这应该是活字格的问题,活字格内置数据库的varchar字段的长度,转换为MYSQL时全部默认为max,我没转换过MySQL,前段时间似乎有人提到过转换为MySQL时默认长度为500。字段一多,整体表就大于65535,报错了。为什么活字格在设置字段类型的时候,不能设置字段长度呢,还有个问题,我把字段修改成整数类型后,转换成功,再在MySQL修改成文本类型。刷新后,打开活字格发现,活字格表中字段还是显示整数类型,跟外联表不一致
回复 使用道具 举报
Joe.xu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2021-6-2 18:30:13
3#
感谢大佬的支持!
如果您的问题已解决,请及时更新帖子的状态为“已处理”,并设置最佳答案给有帮助到你的回复;
如果您的问题还未解决,欢迎跟帖补充;
如果您有新的问题,也欢迎创建新的求助帖呦。
回复 使用道具 举报
最佳答案
最佳答案
天朝四周处悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2021-6-2 10:25:56
来自 2#
看样子好像是字段的长度有问题,这是转MySQL外联库吧。
活字格内置数据库的varchar字段的长度,转换为MSSQL时全部默认为max,我没转换过MySQL,前段时间似乎有人提到过转换为MySQL时默认长度为500?

MySQL有个很费解的要求,创建表的时候所有列字符长度加起来乘以2(gbk)或者是3(utf-8). 如果这个结果大于65535,就无法创建成功。

这样的话,可以尝试一下先在内置库中把某些文本字段修改成整数之类的,成功转换到之后,再去MySQL把字段类型改成文本,根据实际需求合理的设置字段长度。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部