我找不到合适的解决方案来删除带有分隔符的sql表中的多行。以下是此问题的示例:
id token
1] c85456d5352a522a
2] c85456d5352a522a_133_aaa
3] c85456d5352a522a_133_aaa_203_bbb
如果原始令牌从相同的开始令牌开始是相同的,我需要删除所有这些令牌。
我不知道最好的方法是什么。
我已经测试过爆炸,但我不知道如何与修改后的令牌进行比较?
$orginal = '4d4ff15544cdad8b';
$modified_token = '4d4ff15544cdad8b_7176_con_8009_con';
$test = explode('_',$modified_token);
$result = $test[0];
//I know, It's not logic now but i try...
if($orginal == $result){
//Sql Delete request here
echo 'Delete: '.$result;
}
比较原始令牌和爆炸令牌的好方法是什么?
答案 0 :(得分:3)
使用LIKE
匹配以令牌开头的模式。由于_
是匹配任何字符的通配符,因此您需要将其转义。
DELETE FROM yourTable
WHERE token = '4d4ff15544cdad8b'
OR token LIKE '4d4ff15544cdad8b\_%'