【发布时间】:2017-07-23 12:06:35
【问题描述】:
我想更新一个非常大的(1m 行)表上的字段。我想从以下位置更新它:
+-----------------------------------------------------------+
| ref |
+-----------------------------------------------------------+
| 0001___000000000003616655___IVANTI UK___TEMPLATE MATERIAL |
+-----------------------------------------------------------+
到:
+-------------------------------+
| ref |
+-------------------------------+
| IVANTI UK___TEMPLATE MATERIAL |
+-------------------------------+
所以基本上它只是将ref(不是固定长度)从sid___sku___mfr___pnum更改为mfr___pnum格式。
在 PHP 中我会这样做(伪代码):
list($p['sid'], $p['sku'], $p['mfr'], $p['pnum']) = explode('___', $row['ref']);
$row['ref'] = $p['mfr'] . '___' . $p['pnum'];
想知道是否可以通过高性能查询直接使用 MySQL 来完成?
【问题讨论】:
-
@Akira,纳希尔,问题很清楚。只是这是关于他们的第 700 个问题,他们仍然不知道 Stack Overflow 不是代码编写服务。您需要展示您的研究成果。
-
@CodeCaster 可能是因为您是新手,甚至不知道从哪里开始?使用 PHP 或 JS 我会提供 sn-ps,但我对 MySQL 一无所知
-
我可以推荐谷歌,这是一个很好的开始。我选择重复的问题是“mysql split string”的第一个命中,我相信你已经尝试过研究,但是你的问题中没有一个代码。显示失败的尝试也非常有用。但是谢谢你提醒我为什么要远离 php 和 mysql 标签。
-
是的,为什么要花时间让自己变得更好,而你可以让别人投资他们的呢?