我最近重新编码了我的一个站点,数据库结构有点不同。
我正在尝试转换以下内容:
*----*----------------------------*
| 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', '');