在mysql表中更新一个值的一部分
问题描述:
我在mysql中有一个表“用户”,大约有2K条记录。在表中,有一个字段“状态”。状态可以是2到3个字。在很少的情况下,最后还有一个空格,后面跟着星号标记。我想删除空格和星号。请帮助我查询更新值。下面是一些例子在mysql表中更新一个值的一部分
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用户WHERE ?????? (如何写条件?)
编辑:
感谢大家的答案。有人可以阐明它的答案是最好的考虑更换2000+记录,计算机资源,内存,效率等的利用一些轻...
答
试试这个单行查询查找和状态与*仅更换记录
update users set status = replace(status, ' *', '') where instr(status, ' *') > 0;
答
你可以使用下面的语法/命令搜索和替换*
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);
}
}
答
请运行以下查询:
个更新用户 设置状态= RTRIM(SUBSTRING_INDEX(状态, '',1)) 其中相同的 '%'
糟糕状态! 4个答案...我很困惑哪一个尝试。谢谢 – Sabha 2014-11-03 04:48:37