- 先导出数据库为.sql文件
- 在程序中指定输入和输出位置
- 运行
- 将生成log.sql导入回数据库
import java.io.*;
/**
* @author wlr
* @date 2022/7/3 13:48
*/
public class DeleteForeignKey {
public static void main(String[] args) {
int n = -1;
byte[] a = new byte[100];
StringBuilder stringBuilder = new StringBuilder();
FileOutputStream fos = null;
try {
//输入文件位置
File f = new File("D:\\笔记\\work\\test", "test.sql");
//输出文件位置,true表示在文件末尾追加
fos = new FileOutputStream("D:/log.sql",true);
InputStream in = new FileInputStream(f);
while ((n = in.read(a, 0, 100)) != -1) {
String s = new String(a, 0, n);
stringBuilder.append(s);
// System.out.print(s);
}
in.close();
String[] strings = stringBuilder.toString().split("\n");
for (int i = 0; i < strings.length - 1; i++) {
if (strings[i].contains("CONSTRAINT") && strings[i].contains("FOREIGN KEY")) {
continue;
}
if (strings[i + 1].contains("CONSTRAINT") && strings[i + 1].contains("FOREIGN KEY")) {
strings[i].replace(",", "");
// System.out.println(strings[i]);
fos.write((strings[i]+"\n").replace(",","").getBytes());
} else {
fos.write((strings[i]+"\n").getBytes());
// System.out.println(strings[i]);
}
}
if (strings[strings.length - 1].contains("CONSTRAINT") && strings[strings.length - 1].contains("FOREIGN KEY")) {
}else {
fos.write((strings[strings.length - 1]+"\n").getBytes());
// System.out.println(strings[strings.length - 1]);
}
fos.close();
} catch (IOException e) {
System.out.println("File read Error" + e);
}
}
}