mysql - SQL复制一行然后更新

标签 mysql

我需要创建行的副本,然后更新它。

  NAME      LOCATION    FLAG
  ====      ========    ====
  name1     location1    0
  name2     location2    0

首先,我必须选择 NAME = name1 和 LOCATION=location1 的行并创建重复行,然后用新值更新 NAME 列。

我可以选择行

从 TABLE 中选择 NAME、LOCATION、FLAG,其中 NAME=name1 和 LOCATION=location1

所以结果应该是这样的

  NAME      LOCATION    FLAG
  ====      ========    ====
  name1     location1    0
  name2     location2    0
  name3     location1    0

最佳答案

您可以直接插入您的选择,只需选择您的新名称作为名称列的值

INSERT INTO TABLE (Name, Location, Flag) 
    select "New Name",LOCATION,FLAG from TABLE where NAME=name1 and LOCATION=location1

关于mysql - SQL复制一行然后更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37741673/

相关文章:

mysql - 为什么大表的表级锁定优于行级锁定?

MySQL按时间段分组

php - SQL:从数据库表中的一列中选择不同的值

mysql - 将 Sphinx 集成到 MySQL

MYSQL查询匹配两个表中的多个值

MySQL语法检查

mysql - 需要Mysql评级和排名教程

测试 pdo 的 php 代码可用吗?

java - 如何在我的数据库中检索名字?

mysql - 为什么 SQLite 和 MySQL 在 subselect 上没有给出相同的结果?