当为客户升级站点到使用MySQL 5而不是MySQL 4的新服务器时,我在迁移数据库时遇到了通常的一堆问题,其中一些问题只是让MySQL抱怨SQL转储(这些是最容易修复的),而其他问题则需要在ASP代码中进行一些更改。例如,在MySQL 5中,使用逗号代替JOIN
并不总是可行的。
有一个问题更令人烦恼。在MySQL 5中,大多数处理比较的ASP语句现在会因为Type Mismatch
而失败,例如:
IF RS("myfield") > 5 THEN
当SQL查询涉及到SUM
时,尤其会发生这种情况。
这个修复并不困难:对于查询,从CAST
到SIGNED
可以修复它,对于比较语句本身,使用Cint
可以解决问题。
问题是,这个网站是巨大的,由数百个独立的ASP文件组成(代码真的很糟糕!),几乎不可能找到所有这些Type Mismatch
错误,直到它们出现。
我的问题是:
是否有更全局的方法来解决这个问题?我认为ODDC驱动程序或MySQL本身的设置等
在DB中进行更改而不是asp代码可能是一种方法。这样你就不用更改那么多网页了。问题是这些字段是否可以根据您的需要进行更改?
是否也更改了数据库类型?InnoDB或MyISAM,这也可以改变字段的处理方式?