gpt4 book ai didi

mysql - 更新mysql时如何通过 `grep`找到不兼容的脚本?

转载 作者:行者123 更新时间:2023-11-29 07:27:28 24 4
gpt4 key购买 nike

我正在将 mysql 从 5.1 更新到 5.5。
在这post ,提到:

In MySQL 5.5.3, several changes were made to alias resolution in multiple-table DELETE statements so that it is no longer possible to have inconsistent or ambiguous table aliases.

因为Mysql没有提供工具来帮助我们修改不兼容的地方。然后,我需要使用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

最佳答案

你可以使用

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

在正则表达式中,\w 通常代表字母、数字和一个 _ 字符。

-E 选项是支持+ 量词所必需的。不会用就用

grep -roia 'delete from[ \t]\{1,\}[a-zA-Z0-9_]\{1,\}[ \t]\{1,\}as[ \t]\{1,\}[a-zA-Z0-9_]\{1,\}' /var/www

关于mysql - 更新mysql时如何通过 `grep`找到不兼容的脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53129150/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com