我想要删除table
的所有行
其中column
包含特殊字符,例如@#$_&-+()/*'';!?~|•√π÷¶∆£¢¥^°={}\%©™℅[]
基本上所有元素都不是字母或数字。
答案 0 :(得分:2)
Codecaster为您提供了解决方案的途径。分解得到它。
你有这个:
SELECT * FROM table WHERE column REGEXP '^[A-Za-z0-9]+$'
返回仅包含字母数字字符
的所有行如果要删除所有其他行,可以执行以下操作:
DELETE FROM table
WHERE ID NOT IN
(
SELECT ID FROM table WHERE column REGEXP '^[A-Za-z0-9]+$'
)
或否定正则表达式:
DELETE FROM table WHERE column NOT REGEXP '^[A-Za-z0-9]+$'