[英]Update part of a value in mysql table
我在mysql中有大約2K條記錄的“用戶”表。 在表中,有一個“狀態”字段。 狀態可以是2到3個字。 在少數狀態下,最后是一個空格,后跟一個星號。 我要刪除空格和星號。 請幫助我查詢更新值。 這里有些例子
Not smiling
always laughing *
never jumps *
keep it up
oh my god *
我想將其更改為:
Not smiling
always laughing
never jumps
keep it up
oh my god
SELECT * FROM users在哪里?????? (如何寫條件?)
編輯:
謝謝大家的回答。 有人可以考慮替換2000+條記錄,計算機資源的使用,內存,效率等問題時,給出最佳答案的答案。
您可以使用以下語法/命令來搜索和替換*
update users set status = replace(status, ' *', '') where instr(status, ' *') > 0;
這將找到帶*的字符串,而不帶*的字符串。
希望能幫助到你。
如何與查詢替換
Update user
set column = REPLACE(column, '*','')
嘗試這個...
$sql='SELECT id,status FROM users WHERE status like %* %';
while( $rs=$conn->query($sql) )
{
$newStatus = str_replace(' *',rs[1]);
$sqlUpdate="UPDATE users SET status =$newStatus WHERE id=rs[0]";
if($conn->query($sqlUpdate) === false) {
trigger_error('Wrong SQL: ' . $sqlUpdate. ' Error: ' . $conn->error, E_USER_ERROR);
}
}
嘗試此單行查詢以查找並僅替換狀態為*的記錄
update users set status = replace(status, ' *', '') where instr(status, ' *') > 0;
請在以下查詢中運行:
更新用戶設置status = RTRIM(SUBSTRING_INDEX(status,' ',1)),其中狀態類似於'% '
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.