【问题标题】:Php, how to copy a table from a database and paste to another [closed]Php,如何从数据库复制表并粘贴到另一个[关闭]
【发布时间】:2013-04-04 13:24:54
【问题描述】:

我需要从数据库 A 中检索一个表和他的所有字段,之后,我需要将此表粘贴到另一个数据库 B 上。

这两个表在同一台服务器上,我需要通过服务器 B 上的 PHP 脚本来完成。

你有什么想法吗?

谢谢!

【问题讨论】:

  • 您是否安装了任何数据库管理工具,例如 phpMyAdmin?
  • 不能用mysqldump(dev.mysql.com/doc/refman/5.0/en/…)转储表吗?
  • 是的,但我需要在 PHP 脚本上执行此操作,例如使用 crontab 自动执行。

标签: php sql database


【解决方案1】:

使用以下 SQL:

CREATE TABLE db2.table LIKE db1.table;
INSERT INTO db2.table SELECT * FROM db1.table;

如果你复制整个表的数据和结构(就像你做的那样),你甚至可以把它简化成一个这样的命令:

CREATE TABLE db1.table
    AS (SELECT * FROM db2.table);

【讨论】:

  • 太棒了!我不知道“CREATE TABLE ... LIKE ...”这句话
  • 我也没有^^我测试,谢谢!
  • 不客气。检查我的更新。它可以做得更简单。 :)
【解决方案2】:
INSERT INTO destTable
SELECT Field1,Field2,Field3,... 
FROM srcTable
WHERE NOT EXISTS(SELECT * 
                 FROM destTable 
                 WHERE (srcTable.Field1=destTable.Field1 and
                       SrcTable.Field2=DestTable.Field2...etc.)
                 )

【讨论】:

  • 大声笑,我真的很想知道为什么这个答案被否决:)
  • @RoyalBg 我和你在一起。请注意,您可以投票;)
【解决方案3】:

各种 PHP 扩展:

*_query/execute('insert into table2 select * from table1');

插入所有选择值

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-09
    • 2012-01-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多