将主键值复制/更新到同一个表的另一列

时间:2014-10-10 07:21:45

标签: mysql sql

我有一个MySQL数据库表订阅者,如下所示:

我需要的是使subscriber_number与subscriber_id相同。

例如:如果subscriber_id是261且subscriber_number是262,那么我需要将subscriber_number设为261,与订户ID相同。

你能帮我解决一下这个问题吗?

更新1:

我希望从这里获得专家的MySQL查询。我试过的是获取id和数字不同的行

SELECT subscriber_id,subscriber_number 
FROM subscribers 
WHERE subscriber_id <> subscriber_number

请运行下面的代码段以查看包含示例数据的表格结构

<table>
  <thead>
    <tr>
      <td style="border-right:1px solid #000;border-bottom:1px solid #000;">subscriber_id</td>
      <td style="border-right:1px solid #000;border-bottom:1px solid #000;">subscriber_number</td>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="border-right:1px solid #000;border-bottom:1px solid #000;">260</td>
      <td style="border-right:1px solid #000;border-bottom:1px solid #000;">260</td>
    </tr>
    <tr>
      <td style="border-right:1px solid #000;border-bottom:1px solid #000;">261</td>
      <td style="border-right:1px solid #000;border-bottom:1px solid #000;">262</td>
    </tr>
    <tr>
      <td style="border-right:1px solid #000;border-bottom:1px solid #000;">262</td>
      <td style="border-right:1px solid #000;border-bottom:1px solid #000;">264</td>
    </tr>
    <tr>
      <td style="border-right:1px solid #000;border-bottom:1px solid #000;">263</td>
      <td style="border-right:1px solid #000;border-bottom:1px solid #000;">272</td>
    </tr>
    <tr>
      <td style="border-right:1px solid #000;border-bottom:1px solid #000;">264</td>
      <td style="border-right:1px solid #000;border-bottom:1px solid #000;">274</td>
    </tr>
    <tr>
      <td style="border-right:1px solid #000;border-bottom:1px solid #000;">266</td>
      <td style="border-right:1px solid #000;border-bottom:1px solid #000;">277</td>
    </tr>
    <tr>
      <td style="border-right:1px solid #000;border-bottom:1px solid #000;">268</td>
      <td style="border-right:1px solid #000;border-bottom:1px solid #000;">282</td>
    </tr>
    <tr>
      <td style="border-right:1px solid #000;border-bottom:1px solid #000;">269</td>
      <td style="border-right:1px solid #000;border-bottom:1px solid #000;">269</td>
    </tr>
  </tbody>
</table>

1 个答案:

答案 0 :(得分:2)

SQL将是

UPDATE subscribers SET subscriber_number = subscriber_id

这会将subscriber_number设置为subscriber-table中每一行的subscriber_id。