首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更新mysql时,如何通过“`grep`”找到不兼容的脚本?

问更新mysql时,如何通过“`grep`”找到不兼容的脚本?
EN

Stack Overflow用户
提问于 2018-11-03 06:55:29
回答 1查看 71关注 0票数 1

我正在将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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-03 11:12:17

你可以用

代码语言:javascript
复制
grep -rEoia 'delete from[ \t]+[^ \t]+[ \t]+as[ \t]+[^ \t]+' /var/www

或,

代码语言:javascript
复制
grep -rEoia 'delete from[ \t]+[a-zA-Z0-9_]+[ \t]+as[ \t]+[a-zA-Z0-9_]+' /var/www

在regex中,\w通常代表字母、数字和_字符。

-E选项对于支持+量词是必要的。如果你不能用它,就用它

代码语言:javascript
复制
grep -roia 'delete from[ \t]\{1,\}[a-zA-Z0-9_]\{1,\}[ \t]\{1,\}as[ \t]\{1,\}[a-zA-Z0-9_]\{1,\}' /var/www
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53129150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档