我有一个 mysqldump 文件,我想恢复它,但与它的构建方式不同。它包含一个我想删除的自动增量列。
转储文件如下所示:(第一列是自动增量)
INSERT INTO `my_table` VALUES (833899644,461796098,'Wed',21,12),(833899645,423455772,'Sun',3,3)
...
所以我想我需要将其更改为:(删除第一个数字)
INSERT INTO `my_table` VALUES (461796098,'Wed',21,12),(423455772,'Sun',3,3)
这个转储相当大(20GB),但我认为 sed 可以很容易地处理它,但不确定如何处理。希望有 sed/其他选项的解决方案。
最佳答案
为了简单起见,请删除从左括号到第一个逗号的所有内容。
如果您希望更改就地发生,请使用:
sed -i -r "s/\([^,]+,/\(/g" file
如果您想将其保存在另一个文件中:
sed -r "s/\([^,]+,/\(/g" file > outfile
关于mysql - 更改 mysql 转储以不包含 auto-inc 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25360268/