【发布时间】:2021-02-10 01:47:09
【问题描述】:
您好,我想将表 A 中的数据从数据库 A 迁移到数据库 B 中的表 A。我构建了 laravel 函数来获取旧数据库中的数据并将其复制到新数据库。
在表 A DB A
ID 代码名称代码产品
1 A01 ABC 001
2 A02 BCD 002
3 A03 DDD
在表 A DB B
ID 代码名称代码产品
两个表都与外键有关系,CodeProduct为FK。
我的问题是尝试获取 ID 时出错,因为 OLD DB 中的 CODEPRODUCT 为 NULL。如果不为 null 则没有错误。
我尝试像下面的代码那样禁用和启用 FK
DB::statement('SET FOREIGN_KEY_CHECKS = 0;');
但得到错误 SQL Server]'=' 附近的语法不正确。 (SQL: SET FOREIGN_KEY_CHECKS=0;)
DB::statement('SET FOREIGN_KEY_CHECKS = 0;');
$datas = codeloanpackage::get();
DB::connection('sqlsrv2')
->table('CodeLoanPackages')
->insert([
'Id' => $data->id,
"Code" => $data->code,
"Name" => $data->name,
"CodeProduct" => $data->CodeProducts->Id]);
}
// Enable foreign key checks!
DB::statement('SET FOREIGN_KEY_CHECKS=1;');
【问题讨论】:
标签: laravel copy foreign-keys migrate