当前位置: 首页 > 面试题库 >

在同一MySQL表中复制/复制记录

臧翰采
2023-03-14
问题内容

我已经寻找了一段时间,但找不到适合我问题的简单解决方案。我想在表中复制一条记录,但是当然,唯一的主键需要更新。

我有这个查询:

INSERT INTO invoices
    SELECT * FROM invoices AS iv WHERE iv.ID=XXXXX
    ON DUPLICATE KEY UPDATE ID = (SELECT MAX(ID)+1 FROM invoices)

问题在于,这只是更改ID行的,而不是复制行。有人知道如何解决这个问题吗?

// edit:我想在不键入所有字段名称的情况下执行此操作,因为字段名称会随着时间变化。


问题答案:

我通常使用的方法是使用临时表。它可能在计算上效率不高,但看起来还可以!在这里,我要完全复制记录99,创建记录100。

CREATE TEMPORARY TABLE tmp SELECT * FROM invoices WHERE id = 99;

UPDATE tmp SET id=100 WHERE id = 99;

INSERT INTO invoices SELECT * FROM tmp WHERE id = 100;

希望对您有用!



 类似资料:
  • 问题内容: 我有一个表,我想复制表中的特定行。我知道这不是做事情的最佳方法,但我们正在寻找一种快速的解决方案。 这比我最初想的要难,我要做的就是将整个记录复制到MySql中自动增量表中的新记录,而无需指定每个字段。这是因为该表将来可能会更改,并且可能会中断重复。我将从PHP复制MySQL记录。 这是一个问题,因为在’SELECT *’查询中,MySql将尝试复制要复制的记录的ID,这会产生重复的I

  • 问题内容: 我对SQL Server不太满意,但是我试图在后台做一些工作来创建我们的EMR系统所缺乏的某些功能-在患者之间复制表格(及其所有数据)。 在SQL Server 2008 R2中,我有三个表来处理已填写的这些表格: 如您所见,它们都与match_id匹配,后者被链接到Patient_id(在第一张表中)。 我想要做的是将这三个表中所有的行复制为一个特定的match_id,重新复制到它们

  • 问题内容: 我应该使用MySQL复制来同步本地数据库和远程数据库吗?如果是这样,我该如何设置主机和从机?还有其他方法可以做到这一点吗? 问题答案: 如何设置主/从? 此复制:如何指导同时具有您需要在主服务器和从服务器上进行的操作。 任何其他可用于执行此操作的方法 还有MySQL群集的多主复制和循环复制。

  • 问题内容: 我想通过将记录从一张桌子移到另一张桌子来对学生进行归档。这是我尝试使用的代码: 我遇到的问题是我遇到错误: 致命错误:XX行/archive-student.php中的内存不足(已分配80478208)(试图分配80216043字节) 除了有一个名为archive的列并从0更改为1之外,是否有其他方法可以执行此操作?这是因为我有30-50页选择表的记录。:) 问题答案: 就那么简单。

  • 问题内容: 我有两个具有相同结构的表。我需要从一个表中选择数据,然后将它们存储到另一个表中。 我怎样才能做到这一点? 问题答案: 因为它们是相同的结构,所以您可以做

  • 本文向大家介绍MySQL 复制表的方法,包括了MySQL 复制表的方法的使用技巧和注意事项,需要的朋友参考一下 1、mysqldump 执行过程: 一、将数据导出为 sql 文件。 将数据导出为 sql 文件保存。上面几个参数的含义分别是: 1、–single-transaction 的作用是,在导出数据的时候不需要对表 db1.t 加表锁,而是使用 START TRANSACTION WITH