mysql - 打开一条记录,更新它并在 MySQL 中作为新记录插入

标签 mysql sql-update sql-insert

我有一个包含 10 个字段的数据库,其中只有少数字段经常更改。我想打开当前记录,更新它,然后使用新的自动 ID 将其输入回数据库,同时保留以前的记录。

如果我插入新记录,我必须重新输入所有信息,即使它可能没有改变。 如果我更新一条记录,它会覆盖以前的值。

如有任何建议,我们将不胜感激

最佳答案

适当修改版本怎么样

insert into table select * from table where id='current_id'

示例查询:假设我想读取第一条记录,提升学生,主题,但更改标记并插入新记录

insert into score(student,subject,marks) 
select student,subject,'30' from score where id=1;


Sample Data
+---------+---------+-------+----+
| student | subject | marks | id |
+---------+---------+-------+----+
| A1      | phy     |    20 |  1 |
| A1      | bio     |    87 |  2 |
| A2      | che     |    24 |  3 |
| A3      | che     |    50 |  4 |

Table structure:

+---------+-------------+------+-----+---------+----------------+
| Field   | Type        | Null | Key | Default | Extra          |
+---------+-------------+------+-----+---------+----------------+
| student | varchar(20) | YES  |     | NULL    |                |
| subject | varchar(20) | YES  |     | NULL    |                |
| marks   | int(1)      | YES  |     | NULL    |                |
| id      | int(10)     | NO   | PRI | NULL    | auto_increment |
+---------+-------------+------+-----+---------+----------------+

关于mysql - 打开一条记录,更新它并在 MySQL 中作为新记录插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22180125/

相关文章:

sql - 在sql中插入语句,其中一个字段设置为自动编号

mysql - MySql Server Inner join 查询中的无效对象名称错误

MySQL 通过 COUNT(*) 的标准差限制结果

android - 行中的 sqlite 更新字段无法识别行 ID 的变量

MySQL根据邮政编码更新

PHP MySQL通过html形式插入查询,参数不通过

php - 我如何使用 php 和 mysql 上传音乐

PHP 根据类型和名称搜索

php - 写入文本文件并更新数据库

mysql - 为 INSERT 查询设置 LIMIT?