更新行时使用联接在更新查询中而不是列
P粉170438285
2023-08-02 12:32:01
<p>更新之前(原始示例表):</p>
<table class="s-table">
<thead>
<tr>
<th>document_id</th>
<th>meta_key</th>
<th>meta_value</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>iban</td>
<td>IBAN123456</td>
</tr>
<tr>
<td>1</td>
<td>bankaccount</td>
<td>ACCT987654</td>
</tr>
<tr>
<td>2</td>
<td>iban</td>
<td>IBAN555555</td>
</tr>
<tr>
<td>2</td>
<td>bankaccount</td>
<td>ACCT444444</td>
</tr>
<tr>
<td>3</td>
<td>iban</td>
<td>IBAN888888</td>
</tr>
<tr>
<td>3</td>
<td>bankaccount</td>
<td>ACCT333333</td>
</tr>
</tbody>
</table>
<p>运行SQL更新查询后:</p>
<table class="s-table">
<thead>
<tr>
<th>document_id</th>
<th>meta_key</th>
<th>meta_value</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>iban</td>
<td>IBAN123456</td>
</tr>
<tr>
<td>1</td>
<td>bankaccount</td>
<td>IBAN123456</td>
</tr>
<tr>
<td>2</td>
<td>iban</td>
<td>IBAN555555</td>
</tr>
<tr>
<td>2</td>
<td>bankaccount</td>
<td>IBAN555555</td>
</tr>
<tr>
<td>3</td>
<td>iban</td>
<td>IBAN888888</td>
</tr>
<tr>
<td>3</td>
<td>bankaccount</td>
<td>IBAN888888</td>
</tr>
</tbody>
</table>
<p>我需要一个查询来实现上述表格的结果吗?</p>
document_id
,meta_key
, andmeta_value
. 您想要更新meta_key为bankaccount的行的meta_value,将其更新为meta_key为iban的行中相应的meta_value。以下是一个实现这个目标的SQL查询:
在运行任何更新查询之前,请记得备份您的数据库,并在安全环境中进行测试!