mysql - 在数据库中更新扩展名之前的文件名

标签 mysql sql

当在我们的 CRM 上执行操作时,它会触发一个流程。我想要的是,当它满足某些条件时,我需要更新数据库中文档的名称。但是,如果调用该文档,例如:

Prospectus.docx

我想重命名文档:Prospectus_1.docx

如何进行更新以在文档扩展名前添加数字?

$sql = "UPDATE b_bp_history SET NAME ='$documentName_[this is where I need the number before the document extension] ' 
WHERE ID='".$_POST['ID']."

我想我可能需要先删除文档扩展名,然后再添加它?

我将原始文档名称存储为 $documentName。

我们将不胜感激您的帮助。

最佳答案

以下是如何使用 PHP 的 preg_replace 给定 $documentName$number 生成新文档名称 ($newDocumentName)。功能:

$newDocumentName = preg_replace('/(.*)\.(.*)/', '$1_' . $number . '.$2', $documentName);

然后在 UPDATE SQL 语句的 SET 子句中使用 $newDocumentName,如下所示:

$sql = "UPDATE b_bp_history SET NAME ='$newDocumentName' WHERE ID='".$_POST['ID']."

关于mysql - 在数据库中更新扩展名之前的文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22505885/

相关文章:

MYSQL REGEX 搜索多个单词,无顺序条件

mysql - 当一行添加到数据库表时 NodeJS 发出

MySQL 中心针对不同的未排序记录值的三年时间间隔平均值

javascript - SQL 查询生成器 Javascript 用户界面

sql - SQL Server连接表和数据透视

MySQL:间隔问题

php - 两个日期之间的 YEARWEEKS

sql - 仅当满足特定条件时才执行插入语句

python - 超出 'range optimizer max mem_size' 的内存容量

java - SQL错误语法,请检查与您的MariaDB服务器版本对应的手册以获取正确的语法