我正在将mysql从5.1更新到5.5。
在这个帖子中,提到了:
在MySQL 5.5.3中,对多个表DELETE语句中的别名解析进行了一些更改,这样就不可能再有不一致或不明确的表别名了。
因为Mysql没有提供工具来帮助我们修改不兼容的places.Then,所以我需要使用grep在我的php文件中找到DELETE FROM tablename AS并修改为DELETE FROM tablename USING tablename AS。
我的试验:grep -r -o -i -a 'delete from \w\{1,\} as \w\{1,\}' /var/www
但失败了。
如何找到DELETE FROM tablename AS
发布于 2018-11-03 11:12:17
你可以用
grep -rEoia 'delete from[ \t]+[^ \t]+[ \t]+as[ \t]+[^ \t]+' /var/www或,
grep -rEoia 'delete from[ \t]+[a-zA-Z0-9_]+[ \t]+as[ \t]+[a-zA-Z0-9_]+' /var/www在regex中,\w通常代表字母、数字和_字符。
-E选项对于支持+量词是必要的。如果你不能用它,就用它
grep -roia 'delete from[ \t]\{1,\}[a-zA-Z0-9_]\{1,\}[ \t]\{1,\}as[ \t]\{1,\}[a-zA-Z0-9_]\{1,\}' /var/wwwhttps://stackoverflow.com/questions/53129150
复制相似问题