sql >> Database teknologi >  >> RDS >> Mysql

Indstil alle kolonnerne i en mysql-tabel til en bestemt værdi

Hvis du leder efter en måde at opdatere alle 70 kolonner til en enkelt værdi med en kort, enkel sætning, så anbefaler jeg, at du skriver en lagret procedure for at udføre opdateringen. På den måde behøver du kun at skrive den fulde opdateringssyntaks én gang og kan genbruge den igen og igen ved at kalde den lagrede procedure.

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

CALL update_all_columns(1,2);

Et andet trick er at bruge tabellen information_schema.columns til at generere opdateringssætningen, hvilket gør det mindre kedeligt at kode den lagrede procedure.

Noget som dette:

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. Sådan opdeles streng og indsætte værdier i tabel i SQL Server

  2. vend rækker tilbage til standard kolonneværdi mysql

  3. RUC eller RUR?

  4. MySQL Tæl forskellige værdier fra én kolonne