Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

bagaimana mysql memperbarui tabel mandiri bekerja

Anda tidak memiliki kolom unik untuk mengidentifikasi baris Anda. Jadi AndaJOIN mungkin akan memperbarui lebih banyak baris seperti yang Anda pikirkan.

Anda mungkin menginginkan sesuatu seperti itu sebagai gantinya:

UPDATE tem AS t1 JOIN (SELECT a, MIN(b) AS m FROM tem GROUP BY a) AS t2
USING (a)
SET t1.b = t2.m;

Lihat http://sqlfiddle.com/#!2/c6a04/1

Jika Anda hanya ingin memperbarui baris yang memiliki NULL di kolom b , ini hanya masalah WHERE klausa:

CREATE TABLE tem(a INT,b INT);    
INSERT INTO tem VALUES(1,2),(1,1),(1,NULL),(2,3);

UPDATE tem AS t1 JOIN (SELECT a, MIN(b) AS m FROM tem GROUP BY a) AS t2
USING (a)
SET t1.b = t2.m
WHERE t1.b IS NULL;

Lihat http://sqlfiddle.com/#!2/31ffb/1



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menginstal dan Mengonfigurasi MySQL di Ubuntu 20.04

  2. Bagaimana mengubah semua awalan tabel dalam satu kueri

  3. Cara menampilkan gambar (tipe bolb) di halaman jsp dari mySql DB di Struts 2 menggunakan Hibernate

  4. Mysql.h hilang dan mencoba menemukan mysql-devel

  5. Cara memutar skema nilai entitas-atribut MySQL