不确定是否可行,但值得一试。我正在尝试在 MySQL 的“TEXT”字段中插入一些文本。文本中的一些单词我想根据 MySQL 中其他一些表中的其他字段进行更改数据库.. 类似于 php 电子邮件模板的东西,其中“亲爱的 ${first_name}”可以根据电子邮件的收件人进行更改...
可以在 MySQL 表的字段中完成类似的操作吗?
我知道这可以使用 PHP 文件来完成,但我想知道这是否可以使用 MySQL 来完成。
不确定是否可行,但值得一试。我正在尝试在 MySQL 的“TEXT”字段中插入一些文本。文本中的一些单词我想根据 MySQL 中其他一些表中的其他字段进行更改数据库.. 类似于 php 电子邮件模板的东西,其中“亲爱的 ${first_name}”可以根据电子邮件的收件人进行更改...
可以在 MySQL 表的字段中完成类似的操作吗?
我知道这可以使用 PHP 文件来完成,但我想知道这是否可以使用 MySQL 来完成。
是的,我想你可以做到这一点,使用存储过程。
它必须有一个REPEAT
循环,用于LOCATE
查找下一个'${'
标记的字符串索引,从那里获取名称直到下一个LOCATE
d '}'
,并用值替换CONCAT
它SUBSTRING
。如果该值来自一个简单的名称到值查找表,这还不错,但是如果您想${first_name}
实际使用名为的列first_name
,则必须在字符串中创建一些动态 SQL 并使用运行它PREPARE...EXECUTE
,这既丑陋又危险.
这将是复杂、脆弱和依赖于 DBMS 的。SQL 的设计并不是为了方便字符串摆弄。任何具有合理字符串操作功能的通用编程语言都应该能够以更直接的方式来完成它。如果您有可用的 PHP,请使用它。