我是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上的复制命令
答案 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
来获取有关数据库的元数据 - 这可能比这是值得的。