yii2では、テーブル全体を1つのDBから別のDBにコピーする必要があります
そのために私は怒鳴るコードを使用しましたが、そのスローイングエラー:
$dbName = "db1";
$table = "demotable";
$liveDbName = "db2";
$command3 = $connection->createCommand('CREATE TABLE `'.$dbName.'.'.$table.'` SELECT * FROM `'.$liveDbName.'.'.$table.'`');
$command3->execute();
しかし、次のようなエラーが発生します:
Database Exception – yii\db\Exception
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'db1.db2.demotable' doesnt exist
The SQL being executed was: CREATE TABLE `db1.demotable` SELECT * FROM `db2.demotable`
Error Info: Array
(
[0] => 42S02
[1] => 1146
[2] => Table 'db1.db2.demotable' doesnt exist
)
テーブルを含むデータベースを指定する場合は、ドットで区切られた2つの異なる文字列が必要です。`database`.`table`
。
あなたのコードで`'.$dbName.'.'.$table.'`
結合された文字列を返します`db1.demotable`
。したがって、SQLは "db1.demotable"という名前のテーブルを見つけようとしています。2番目のテーブルと同じ問題。
このコードを使用してみてください:
$dbName = "db1";
$table = "demotable";
$liveDbName = "db2";
$command3 = $connection->createCommand("CREATE TABLE `$dbName`.`$table` SELECT * FROM `$liveDbName`.`$table`");
$command3->execute();
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加