· 7 years ago · Jan 12, 2019, 01:24 PM
1-- ==============
2-- Update with limit
3-- ==============
4
5drop table if exists customer;
6drop table if exists supplier;
7
8create table customer (
9 id int not null AUTO_INCREMENT,
10 customer_name varchar(10),
11 PRIMARY KEY (id)
12);
13
14create table supplier (
15 id int not null AUTO_INCREMENT,
16 supplier_name varchar(10),
17 PRIMARY KEY (id)
18);
19
20
21INSERT INTO customer (customer_name) VALUES ('aa'), ('bb');
22INSERT supplier (supplier_name) VALUES ('xx'), ('yy');
23
24select * from customer;
25select * from supplier;
26
27-- explain
28UPDATE supplier s
29SET supplier_name = (SELECT c.customer_name
30 FROM customer c
31 WHERE c.id = s.id AND s.supplier_name != c.customer_name)
32WHERE EXISTS (SELECT *
33 FROM customer c
34 WHERE c.id = s.id AND s.supplier_name != c.customer_name)
35LIMIT 1
36;