Tempat yang baik untuk memulai adalah:
SELECT
A.num_1, B.num_2
FROM
Smaller AS A JOIN Smaller AS B ON (A.num_1 < B.num_2)
ORDER BY A.num_1, B.num_2;
Di dalam prosedur tersimpan Anda, letakkan ini ke dalam kursor, ulangi kursor dan untuk setiap baris lakukan INSERT IGNORE. Yaitu:
DECLARE num1,num2 INT;
DECLARE done DEFAULT 0;
DECLARE mycursor CURSOR FOR SELECT # use the select above, im lazy here
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
OPEN mycursor;
my_loop: LOOP
FETCH mycursor INTO num1, num2;
IF done THEN
LEAVE my_loop;
END IF;
INSERT IGNORE INTO Smaller VALUES (num1,num2);
END LOOP;
Untuk menjawab pertanyaan Anda yang diperbarui, sementara tidak sepenuhnya yakin apakah maksud Anda terhubung melalui hubungan antara baris unik (Anda akan memerlukan dua kolom untuk menyimpan hubungan ini, jadi itu akan sangat mirip). Atau jika maksud Anda Anda memiliki satu tabel yang berisi semua angka, dan dua tabel kolom lainnya yang berisi hubungan antara baris tabel pertama.
Atau, akhirnya, jika Anda menginginkan tabel yang hanya berisi string dengan "1-2", "1-3" dll. Jika demikian, saya akan menyimpannya sebagai dua kolom individual dan hanya menampilkannya sebagai string menggunakan CONCAT saat Anda melakukan polling meja :)