Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Ustaw wszystkie kolumny tabeli mysql na określoną wartość

Jeśli szukasz sposobu na zaktualizowanie wszystkich 70 kolumn do jednej wartości za pomocą krótkiej, prostej instrukcji, zalecam napisanie procedury składowanej w celu przeprowadzenia aktualizacji. W ten sposób wystarczy napisać pełną składnię aktualizacji tylko raz i można jej używać wielokrotnie, wywołując procedurę składowaną.

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

CALL update_all_columns(1,2);

Inną sztuczką jest użycie tabeli information_schema.columns do wygenerowania instrukcji aktualizacji, dzięki czemu kodowanie procedury składowanej jest mniej uciążliwe.

Coś takiego:

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. java Hibernuj niepotrzebne zapytania na odłączonych obiektach

  2. Zastrzeżone słowa kluczowe SQL powodujące błędy podczas importowania danych z pliku tekstowego

  3. MySQL:NOT IN z subselect nie działa zgodnie z oczekiwaniami?

  4. Zapytanie Django, w którym jedno pole jest zduplikowane, a drugie jest inne

  5. Transfer danych SQL Server do MySQL