· 9 years ago · Jan 07, 2017, 12:06 PM
1create table friendships (
2 userA int not null,
3 userB int not null,
4 primary key (userA, userB)
5);
6
7drop trigger if exists trg_friendships_order;
8delimiter //
9
10create trigger trg_friendships_order before insert on friendships
11for each row
12begin
13 declare temp int; -- should be same data type as userA & userB
14 if new.userB < new.userA then -- swap
15 set temp := new.userB;
16 set new.userB := new.userA;
17 set new.userA := temp;
18 end if;
19end
20//
21delimiter /
22
23insert into friendships values (2, 1);
24select * from friendships;
25
26userA | userB
27-------+-------
28 1 | 2
29
30insert into friendships values (2, 1);
31insert into friendships values (1, 2);