2013-02-27 6 views
-2

Я должен изменить значение по умолчанию для всего поля даты в моей базе данных. Знаете ли вы, как это сделать быстро.Mysql добавить значение по умолчанию для всех полей даты

Благодаря

+0

обновить определения таблиц в [INFORMATION_SCHEMA] (http://dev.mysql.com/doc/refman/5.0/en/information-schema.html) db. –

+0

Вы хотите обновить существующие значения или вам нужно установить значение по умолчанию при вставке строки? – jazzytomato

+0

@Marc B: таблицы information_schema доступны только для чтения (на самом деле это даже не таблицы, а виды) – Mchl

ответ

0

попробовать что-то вроде этого:

SELECT 
    CONCAT('ALTER TABLE `', TABLES.TABLE_NAME, '` ALTER COLUMN `', COLUMNS.COLUMN_NAME, '` SET DEFAULT ''2013-02-27'';') 

    INTO OUTFILE 'C:\\queries.sql' 

    FROM TABLES 
     INNER JOIN COLUMNS 
      ON COLUMNS.TABLE_SCHEMA = TABLES.TABLE_SCHEMA 
      AND COLUMNS.TABLE_NAME = TABLES.TABLE_NAME 

    WHERE 
     TABLES.TABLE_TYPE = 'BASE TABLE' 
     AND TABLES.table_schema = 'your_database' 
     AND data_type = 'date'; 

Вы должны будете адаптировать

  • путь в Outfile в (здесь C: /queries.sql на сервере Windows, .. .)
  • ваше имя базы данных
  • и, очевидно, значение по умолчанию, которое вы установите (здесь 20 13-02-27).

Затем вам нужно будет запустить выходной скрипт в целевой базе данных.

Смежные вопросы