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