我有一张 table Template
。其中我有一个像Message
这样的专栏.例如
-------------------------------
id name desc cretaedBy Message
-------------------------------
1 A blah today <td><tr>one</tr></td></body></html>
2 B blah lastday
3 C blah onemonth <tr><td>last</td><td>next</td></tr></body></html>
在这里,我需要插入<div>blah blah some content</div>
之前</body></html>
在Message
-列。
如何使用更新查询查找位置并更新特定位置。
此表仅显示 3 条记录,但它可能包含 1000 条记录。实际上我所期望的是,例如,如果java或任何编程语言...如果字符串包含结束正文标记,则对字符串进行子串并在结束正文标记之前添加数据。
任何人请帮助我mysql
最佳答案
您可以使用 UPDATE
与 REPLACE
,在其中替换 </body></html>
与 <div>blah blah some content</div></body></html>
。在 Message
没有 </body></html>
的值在他们里面,什么也不会发生:
UPDATE Template
SET Message = REPLACE(Message, '</body></html>', 'div>blah blah some content</div></body></html>')
;
SELECT * FROM Template
输出:
id name desc createdBy Message
1 A blah today <td><tr>one</tr></td>div>blah blah some content</div></body></html>
2 B blah lastday (null)
3 C blah onemonth <tr><td>last</td><td>next</td></tr>div>blah blah some content</div></body></html>
如果您的表非常大,则限定 UPDATE
与 WHERE Message LIKE '%</body></html>'
会加快速度。
关于mysql - 有没有办法在MySQL中插入字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59582742/