我有一些旧的数据库,我没有对通过web PHP表单插入名称设置一些限制。现在我把它们放在那里,只有一个词,而不是两个或更多的词。在那个数据库里已经有10000行了。
DB中的示例字段:“John Doe Blue”
有了新规则,用户只能填写“JohnDoeBlue”
有什么方法可以选择我在字符串字段中不包含单个单词但包含多个单词的名称的所有情况吗?我的新功能是防止字段中出现错误或多个单词:
public function wrongName($name)
{
return !preg_match("/^[a-zA-Z0-9]{3,20}$/", $name);
}
如何从DB中选择所有不满足这个函数但已经存在于DB中的情况?
最佳答案
如果要从包含此类数据的列中删除任何空格,只需执行以下操作
UPDATE table SET column = REPLACE(column, ' ','');
如果要在执行更新尝试之前检查是否只获取所需的行
SELECT column, REPLACE(column, ' ','') as potentialNewColumn
FROM table
WHERE INSTR(column, ' ') > 0 ;