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

Setel semua kolom tabel mysql ke nilai tertentu

Jika Anda mencari cara untuk memperbarui semua 70 kolom ke satu nilai dengan pernyataan singkat dan sederhana, maka saya sarankan Anda menulis prosedur tersimpan untuk melakukan pembaruan. Dengan begitu Anda hanya perlu menulis sintaks pembaruan lengkap sekali, dan dapat menggunakannya kembali berulang kali dengan memanggil prosedur tersimpan.

CREATE PROCEDURE update_all_columns (p_new_value SMALLINT, p_id INT) ...

CALL update_all_columns(1,2);

Trik lain adalah dengan menggunakan tabel information_schema.columns untuk menghasilkan pernyataan pembaruan, sehingga tidak terlalu membosankan untuk mengkode prosedur tersimpan.

Sesuatu seperti ini:

SELECT concat('UPDATE ',
table_name,
' SET ',
group_concat(column_name separator ' = p_new_value, '),
' = p_new_value',
' WHERE id = p_id;') as sql_stmt
FROM information_schema.columns 
WHERE table_schema = 'your_schema' 
AND table_name = 'tablename'
AND column_name != 'id'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hibernate @OneToMany melempar MySQLSyntaxErrorException:Anda memiliki kesalahan dalam sintaks SQL Anda

  2. Menginstal versi paket tertentu dengan pip

  3. Apakah Anda hanya memperbarui bidang yang diubah atau semua bidang?

  4. Koneksi pdo tanpa nama database?

  5. MYSQL Memilih data reciprocating?