【问题标题】:How to duplicate MySQL fields?如何复制 MySQL 字段?
【发布时间】:2011-05-23 02:10:00
【问题描述】:

在我网站的管理面板上,我有一个向数据库添加新产品的页面。产品加入数据库后,结构如下:

item_id  | item_name | item_price
   1         name1       1.00
   2         name2       2.00
             (...)
   5         name5       5.00

这个页面(我用来添加新产品)被称为“new.php”。 我创建了一个页面,我可以在其中查看我添加的产品(称为“index.php”),以及一个删除按钮,这样我当然可以删除一个项目。

我现在想创建另一个按钮,这次是复制一个产品。我有一些想法,但都证明是错误的。

举例来说,假设我想复制 item_id 2。所以我的表会是这样的:

item_id  | item_name | item_price
   1         name1       1.00
   2         name2       2.00
             (...)
   5         name5       5.00
   6         name2       2.00

注意item_id是auto_increment是有效的。

【问题讨论】:

    标签: php mysql duplicates field


    【解决方案1】:
    INSERT INTO tbl (item_name, item_price)
    SELECT item_name, item_price FROM tbl WHERE item_id = 2
    

    【讨论】:

    • @Sinner:那是因为你做错了什么,因为查询在语法上是正确的。解释一下didn't work是什么意思。
    • 其实,当我按照你说的方式尝试时,它什么也没做,只是加载了 index.php 页面,没有重复。然后我尝试使用 SELECT * 并且(当然)它显示错误:Duplicate entry '1397' for key 'PRIMARY'。
    • @Sinner:这就是为什么我只指定了 necessary 字段。 item_id 是主键,应该是唯一的。所以你需要枚举除PK(或其他唯一)以外的所有字段
    • 我通过 phpMyAdmin 访问了数据库,我看到每次单击“复制”时,都会创建一个新 ID,但没有其他字段被复制。它是这样显示的:item_id='7', item_name='', item_price=''.];
    • @Sinner: my 查询是不可能的。
    猜你喜欢
    • 2011-02-16
    • 2018-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-14
    • 1970-01-01
    • 2013-11-18
    • 1970-01-01
    相关资源
    最近更新 更多