MYSQL,复制记录但更改列的值

标签 mysql sql

我正在尝试编写一个复制所有行 WHERE employee = 16(即)的 SQL 语句,但新行将具有不同的 employee 值。

INSERT 之前的表格:

| employee | property_name | property_value |
|:--------:|:--------------|:---------------|
| 16       | Salary        | 28,000         |
| 16       | Department    | 12             |
| 17       | Salary        | 38,000         |
| 17       | Department    | 8              |

INSERT 后的预期结果:

| employee | property_name | property_value |
|:--------:|:--------------|:---------------|
| 16       | Salary        | 28,000         |
| 16       | Department    | 12             |
| 17       | Salary        | 38,000         |
| 17       | Department    | 8              |
| 18       | Salary        | 28,000         |
| 18       | Department    | 12             |

我见过一些使用变量的线程。我能否以某种方式设置和引用一个变量来替换插入/选择中的值?

answer to this thread看起来它会工作。但我不想那样创建和删除表。

最佳答案

insert into YourTable (employee,property_name, property_value)
select 18, property_name, property_value from YourTable where employee = 16

关于MYSQL,复制记录但更改列的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9366633/

相关文章:

mysql - 连接到远程我的 Sql 显示用户 azerty@41.175.10.32 的访问被拒绝(使用密码 : Yes )

php - Codeigniter 数据库类在插入时截断文本

php - 插入函数时出现mysql版本错误

sql - 具有绝对路径的 JTDS(到 Access MDB 文件的 JDBC 连接)

php - 无论返回结果如何,MYSQL/PHP 分页显示 9 页

php - 回显数据库用户名和发布的电子邮件

php - 连接到在 Ubuntu AWS 实例中创建的 MySQL 数据库

SQL Server 按组累计总和

mysql - 我如何对连续范围进行分组(mysql 5.7)

mysql - 每个 where 子句创建列