我最近重新编码了我的一个站点,数据库结构有点不同。
我正在尝试转换以下内容:

*----*----------------------------*
| id | file_name                  |
*----*----------------------------*
| 1  | 1288044935741310953434.jpg |
*----*----------------------------*
| 2  | 1288044935741310352357.rar |
*----*----------------------------*

以下内容:
*----*----------------------------*
| id | file_name                  |
*----*----------------------------*
| 1  | 1288044935741310953434     |
*----*----------------------------*
| 2  | 1288044935741310352357     |
*----*----------------------------*

我知道我可以用PHP执行for each循环,并从末尾分解文件扩展名,然后以这种方式更新每一行,但对于任务来说,这样的查询似乎太多了。
是否有任何可以运行的SQL查询允许我从file_name列中的每个字段中删除文件执行?

最佳答案

您可以在本机MySQL中使用the REPLACE() function来进行简单的字符串替换。

UPDATE tbl SET file_name = REPLACE(file_name, '.jpg', '');
UPDATE tbl SET file_name = REPLACE(file_name, '.rar', '');

10-07 12:01
查看更多