如何在cakephp中将mysql表复制到另一个表?

如何在cakephp中将mysql表复制到另一个表?,mysql,cakephp,Mysql,Cakephp,有人能告诉我如何使用cakephp将一个mysql表复制到同一数据库中的另一个表吗?如果可能,请给我一个查询示例 create table new_table like your_table; insert into new_table select * from your_table; 以上内容将保留新表的索引 create table new_table select * from your_table; 上述内容不会保留索引。 与cakephp无关,您只需要正确的sql语法, 加上相关

有人能告诉我如何使用cakephp将一个mysql表复制到同一数据库中的另一个表吗?如果可能,请给我一个查询示例

create table new_table like your_table;
insert into new_table select * from your_table;
以上内容将保留新表的索引

create table new_table select * from your_table;
上述内容不会保留索引。
与cakephp无关,您只需要正确的sql语法,
加上相关的连接设置,允许php连接到mysql

以上内容将保留新表的索引

create table new_table select * from your_table;
上述内容不会保留索引。
与cakephp无关,您只需要正确的sql语法,

加上允许php连接到mysql的相关连接设置

如果它是一个快速且肮脏的一次性拷贝,我只需循环源表记录并创建新的目标记录:

$source = $this->Source->find('all');
foreach($source as $sRec)
{
    $this->Target->create();
    $targetData = array();
    $target['Target']['field1'] = $sRec['Source']['field1'];
    $target['Target']['field2'] = $sRec['Source']['field2'];
    //etc
    $this->Target->save($targetData);
}
抱歉,如果是马车,我只是挥霍了一下

编辑以显示行选择条件。大致如下:


如果它是一个快速且肮脏的一次性拷贝,我只需循环源表记录并创建新的目标记录:

$source = $this->Source->find('all');
foreach($source as $sRec)
{
    $this->Target->create();
    $targetData = array();
    $target['Target']['field1'] = $sRec['Source']['field1'];
    $target['Target']['field2'] = $sRec['Source']['field2'];
    //etc
    $this->Target->save($targetData);
}
抱歉,如果是马车,我只是挥霍了一下

编辑以显示行选择条件。大致如下:


如果必须在CakePHP中执行,则必须以$this->MyModel->query('somesql')的形式执行;正如你所说的,这与cakephp无关。那么我在哪里写这个查询呢。使用mysql客户端程序运行上述脚本。2.编写一个PHP脚本(不需要使用cakephp框架)在sql之上运行。如果必须在cakephp中运行,则必须使用$this->MyModel->query('someSQL');正如你所说的,这与cakephp无关。那么我在哪里写这个查询呢。使用mysql客户端程序运行上述脚本。2.编写一个PHP脚本(不需要使用cakephp框架)在sql之上运行。我可以根据提供的代码只复制行吗。如果你很乐意保持整洁,并且速度不是问题(仅适用于表较大的情况),只需添加一个条件-请参阅我的编辑。为什么$target['target']['field1']等-$targetData['target']['field1']不能根据提供的Y仅复制行。如果你很乐意保持整洁,并且速度不是问题(仅在表很大的情况下适用),只需添加一个条件-请参见我的编辑。为什么$target['target']['field1']等-$targetData['target']['field1']不应该学习使用mysql命令行客户端。直接运行查询,当MySQL附带用于运行查询的程序时,不需要编写程序来执行查询。您应该学习使用mysql命令行客户端。直接运行查询,当MySQL附带用于运行查询的程序时,不需要编写程序来执行查询。