我的任务是将数据从 MSSQL 服务器迁移到 MySQL 服务器。我认为首先将 MSSQL 数据库转换为 MS Access 数据库会更容易,所以我可以搞砸它,然后将其导出为 MySQL。
所以,我有一张桌子,叫做公司:
companyID | name | c_phon | c_email | c_address
1 StackOverflow 5555555555 Joel@stackoverflow.com NYC
2 Google 5558675309 Google@google.com NYC
在我们的新数据库中,我们更改了这些字段的保存方式。我们使用的是首选项表,而不是每一行都有电话号码、电子邮件和地址。
偏好:
prefID | prefName
1 c_phone
2 c_email
3 c_address
我的问题是,如何在我们的 companyPrefs 表中将每个字段转换为它自己的行。它应该看起来像这样:
companyID | prefID | prefValue
1 1 5555555555
1 2 Joel@stackoverflow.com
1 3 NYC
2 1 5558675309
2 2 Google@google.com
2 3 NYC
我不知道如何使用 vbscript 或其他什么,所以我试图使用 SQL 来做到这一点。
INSERT INTO comanyPrefs (companyID, prefID, prefValue)
SELECT companyID, prefID, @fieldName
FROM companies, preferences
WHERE @fieldName = prefName
显然这是行不通的。如何使用变量字段名称选择字段?如何为每个字段插入一行?