Ini adalah hal yang agak rumit untuk dilakukan. Dan Anda benar-benar tidak dapat melakukannya dalam satu langkah. Saya akan memberi Anda sesuatu untuk memulai, dan Anda harus mengambilnya dari sana:
select CONCAT("SELECT * FROM ", TABLE_NAME, " WHERE user_id=1;") FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME="user_id";
Sekarang ini akan menghasilkan output seperti ini:
+--------------------------------------------------------------------+
| CONCAT("SELECT * FROM ", TABLE_NAME, " WHERE user_id=1;") |
+--------------------------------------------------------------------+
| SELECT * FROM table0 WHERE user_id=1; |
| SELECT * FROM table1 WHERE user_id=1; |
Sekarang, Anda ingin membalikkan dan menjalankan semua perintah itu... jadi lakukan seperti ini:
select CONCAT("SELECT * FROM ", TABLE_NAME, " WHERE user_id=1;") FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME="user_id" INTO OUTFILE "some_file_path_and_name";
Itu akan memberi Anda file teks yang penuh dengan semua perintah yang Anda cari.
Perbarui---
Saya melewatkan "Untuk bit kolom apa saja.."
select CONCAT("SELECT * FROM ", TABLE_NAME, " WHERE ", COLUMN_NAME, "='WHATEVER';") FROM INFORMATION_SCHEMA.COLUMNS WHERE COLLATION_NAME IS NOT NULL INTO OUTFILE 'somepath';
Di sini, kami menggunakan fakta bahwa Anda mengatakan sedang mencari string, dan semua bidang tipe string memiliki collation_name. Ganti APA PUN dengan apa yang Anda cari.