Как создать запрос MySQL “ALTER TABLE много мерный”?

96
07 апреля 2021, 10:00

Нужно в БД таблицы поменять в нескольких местах дату. Запрос сделал, все работает. Пример:

**

ALTER TABLE `wp_id_posts` 
  CHANGE COLUMN `post_date` `post_date` DATETIME NOT NULL DEFAULT '1970-01-01 00:00:01',
  CHANGE COLUMN `post_date_gmt` `post_date_gmt` DATETIME NOT NULL DEFAULT '1970-01-01 00:00:01' ;

**

Но таких таблиц много, у которых есть несколько полей с датами, что нужно поменять.

Нужна помощь в создание запроса, который будет пробегаться по таблицам и формировать мульти запросы как в примере выше.

Как один запрос сделать знаю, а вот как два, нет. Пока не нашел в инете решения, продолжаю искать, если подскажите буду благодарен.

Answer 1

Обычно для этого используют точку с запятой:

ALTER TABLE `table1` 
  CHANGE COLUMN `post_date` `post_date` DATETIME NOT NULL DEFAULT '1970-01-01 00:00:01',
  CHANGE COLUMN `post_date_gmt` `post_date_gmt` DATETIME NOT NULL DEFAULT '1970-01-01 00:00:01' ;
ALTER TABLE `table2` 
  CHANGE COLUMN `post_date` `post_date` DATETIME NOT NULL DEFAULT '1970-01-01 00:00:01',
  CHANGE COLUMN `post_date_gmt` `post_date_gmt` DATETIME NOT NULL DEFAULT '1970-01-01 00:00:01' ;

Ещё вариант написать скрипт, который будет автоматически формировать запрос для каждой таблицы.

READ ALSO
Как задать диапазон Int в Mysql?

Как задать диапазон Int в Mysql?

Как сделать так, чтобы в строке с типом INT могло содержаться значение только в диапазоне от 0 до 100?

101
php ошибки xmlreader, как обработать и убрать?

php ошибки xmlreader, как обработать и убрать?

Есть обработчик xml файлов, работает через php new xmlreader()Дак вот, есть проблема, пользователи частенько заливают левые кривые файлы, часто возникают...

70
Где кончается контроллер и начинается сервис?

Где кончается контроллер и начинается сервис?

Никак не могу понять, где кончается работа контроллера и начинается сервис (и сервис ли) ?

100