標籤:
更新一個欄位,在它的後面加一個字串,不查詢資料庫得到這個欄位值 怎麼添加??例如:我的test表,有個user欄位,我現在想在它後面加了另一個使用者的名字我在mysql資料庫這樣寫UPDATE test SET user= user+ ‘,phpchina‘ WHERE id= ‘2‘;這樣是不對的,mysql資料庫把它當成數字相加了,user欄位值變成0了。應該:UPDATE test SET user= CONCAT(user,‘,phpchina‘) WHERE id= ‘2‘;
MySQL批量替換指定欄位字串語句
UPDATE 資料表名 SET 欄位名 = replace(欄位名, ‘要替換的字串‘, ‘替換為‘) WHERE 設定條件;
例子
| 代碼如下 |
複製代碼 |
UPDATE `cdb_name` SET `field_name` = replace (`field_name`,‘from_str‘,‘to_str‘) |
說明:
cdb_name —— 該字元或字串所在表的名字
field_name —— 該字元或字串所在欄位的欄位名
from_str —— 需要替換的字串
to_str —— 替換成的字串
例如:
進入phpmyadmin,開啟要操作的資料庫,點擊上方的sql,執行以下sql語句:(這裡我使用的Discuz做示範)
| 代碼如下 |
複製代碼 |
UPDATE `pre_forum_post` SET `author` = replace( `author` , ‘祥磊部落‘, ‘祥磊‘ ) |
意思是把使用者名稱“祥磊部落”修改為“祥磊”,其中pre_要修改為您自己資料庫的表首碼。
| 代碼如下 |
複製代碼 |
UPDATE phpcms_article SET title=REPLACE(title,‘[2009]‘,‘〔2009〕‘); UPDATE phpcms_article SET content=REPLACE(content,‘[2009]‘,‘〔2009〕‘); |
語句中還可以加入替換條件,如只替換限定ID小於200的內容:
| 代碼如下 |
複製代碼 |
UPDATE wp_posts SET post_content = replace(post_content, ‘搜尋引擎最佳化‘, ‘搜尋引擎營銷‘) WHERE ID < 200; |
後面附一個進階點的
| 代碼如下 |
複製代碼 |
UPDATE `cdb_settings` SET `value` = ‘‘ WHERE CONVERT( `variable` USING utf8 ) =‘adminipaccess‘ LIMIT 1 ; |
mysql update語句,修改欄位,,或者是批量修改欄位