PHP创建一个像phpmyadmin一样的复制命令

时间:2018-02-24 05:32:42

标签: php mysql phpmyadmin

我是PHP开发的新手,只是想知道PHP上的现有函数是否复制了phpmyadmin上的copy命令,我知道查询序列在下面,但这就像一个长查询/代码该表有很多列。我的意思是,如果phpmyadmin有这个功能可能它调用功能构建?

SELECT * FROM table where id = X
INSERT INTO table (XXX)VALUES(XXX)
Where the information is based from the SELECT query

注意:id是主要和自动增量。

这是phpmyadmin上的复制命令

enter image description here

1 个答案:

答案 0 :(得分:2)

  

我的意思是,如果phpmyadmin具有此功能,可能是它在函数中调用构建?

MySQL中没有内置功能可以复制除INSERT形式INSERT INTO tableName ( columns-specification ) SELECT columns-specification FROM tableName WHERE primaryKeyColumns = primaryKeyValue语句之外的行。

问题是您需要预先知道列的名称,还需要排除auto_increment列以及主键列,并且知道如何为非列出“智能默认值” - auto_increment主键列,尤其是复合键。您还需要考虑是否还应执行任何触发器 - 以及如何处理可能旨在防止“复制”操作可能引入的重复值的任何约束和索引。

你仍然可以用PHP,甚至是纯MySQL(使用动态SQL,在sproc中),但是你需要查询information_schema来获取有关数据库的元数据 - 这可能比这是值得的。