| 12345678910111213141516171819202122232425262728293031323334 |
- import java.sql.*;
- public class CheckDup {
- static final String U = "root"; static final String P = "Ylrz_1q2w3e4r5t6y";
- public static void main(String[] a) throws Exception {
- Class.forName("com.mysql.cj.jdbc.Driver");
- String[] dbs = {"fs_tenant_cs1","fs_tenant_t202606046007","fs_tenant_t202606119691","fs_tenant_t202606124273","fs_tenant_t202606154320","fs_tenant_t202606167389","fs_tenant_t202606174488","fs_tenant_t202606179328","fs_tenant_t202606179893"};
- for (String db : dbs) {
- String url = "jdbc:mysql://cq-cdb-8fjmemkb.sql.tencentcdb.com:27220/" + db + "?serverTimezone=Asia/Shanghai";
- try (Connection c = DriverManager.getConnection(url, U, P); Statement s = c.createStatement()) {
- // Find duplicate menu_ids in company_menu
- ResultSet rs = s.executeQuery(
- "SELECT menu_id, menu_name, COUNT(*) AS cnt, " +
- "GROUP_CONCAT(CONCAT('cid=',IFNULL(company_id,'NULL'),' vis=',visible)) AS versions " +
- "FROM company_menu WHERE menu_id BETWEEN 29900 AND 29999 " +
- "GROUP BY menu_id HAVING cnt > 1 ORDER BY menu_id");
- int dup = 0;
- while (rs.next()) {
- if (dup == 0) System.out.println("\n" + db + " DUPLICATES:");
- System.out.printf(" %s %-20s x%d [%s]\n",
- rs.getString(1), rs.getString(2), rs.getInt(3), rs.getString(4));
- dup++;
- }
- if (dup == 0) {
- ResultSet r2 = s.executeQuery("SELECT COUNT(1) FROM company_menu WHERE menu_id BETWEEN 29900 AND 29999");
- r2.next();
- System.out.printf("%s: %d entries, 0 duplicates\n", db, r2.getInt(1));
- }
- }
- }
- }
- }
|