我正在创建一个消息表,在实际的"消息"列中,一些记录有一个固定的短语,所以我的问题是,你怎么能只更改记录的一部分但大规模,所以说我想编辑 3000 条记录?
例如,我可能希望将记录从以下内容更改为:
我刚刚找到了一个非常棒的链接,请在此处查看<b><a href="website.php">Link</a></b>
自
看看我刚刚在<b><a href="webiste.php">Link</a></b>
找到的这个链接
因此,换句话说,如何仅更改"查看我刚刚找到的此链接"部分而不是实际链接?
我尝试使用替换,但不确定这是否正确:
<?php
$replace_text_sql = "SELECT message REPLACE('message','I just found a really great link, take a look at it here','Check out this link I just found at') FROM posts WHERE type = 'promoted'";
$replace_text_res = mysqli_query($con, $count_posts_sql);
?>
我在这里找到了解决您问题的好方法。不幸的是,我没有可用的虚拟数据库,我可以自己尝试一下,但它应该可以解决您的问题:
UPDATE posts SET message = REPLACE (message, 'I just found...', 'Check out this...')
我希望这有帮助!
好吧,
我建议您查看使用 UPDATE 语句
单表语法:
UPDATE [LOW_PRIORITY] [IGNORE] table_reference
SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...
[WHERE where_condition]
[ORDER BY ...]
[LIMIT row_count]
您可能还想查看REPLACE(str,from_str,to_str)
返回字符串 str 以及字符串的所有匹配项from_str 替换为字符串to_str。
REPLACE() 执行区分大小写 搜索from_str时匹配。
mysql>选择
REPLACE('www.mysql.com', 'w', 'ww');
-> 'WwWwWw.mysql.com' This function is multi-byte safe.