Измените значение int по умолчанию для mysql (phpmyadmin) в mysql версии 5.7.2

Сейчас у меня версия MySQL 5.6. В этой версии столбец типа INT будет автоматически принимать 0, даже если значение по умолчанию отсутствует.

Column = question_status, Type= INT, Default= None

Старый запрос: INSERT INTO tbl_question (question_status) VALUES ('');

Вышеупомянутый запрос будет отлично работать в моей старой версии.

Теперь я импортировал базу данных в более новую версию MySQL 5.7.2.

Новый запрос: INSERT INTO tbl_question (question_status) VALUES ('');

Вышеупомянутый запрос такой же, но в нем говорится, что мне нужно изменить значение столбца по умолчанию, потому что тип данных столбца - INT.

если я вручную изменю значение по умолчанию на 0 в более новой версии. Он будет работать отлично.

Проблема в том, что у меня около 100 таблиц в базе данных и много столбцов типа INT, поэтому я не могу изменить значение по умолчанию для каждого столбца один за другим.

0
0
78
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете выбрать все столбцы, имеющие тип INT, с помощью этого запроса:

SELECT * FROM information_schema.columns WHERE table_schema = '<YOUR_DB>' data_type = 'INT'

Тогда будет легко написать простой скрипт для массовой переделки.

как я уже сказал, у меня так много столбцов, и он все еще загружает запрос выбора через 6 минут. есть ли способ настроить значение mysql по умолчанию?

abhi chavda 10.08.2018 15:39

Попробуйте установить innodb_stats_on_metadata = 0. Это должно ускорить работу запросов к information_schema.

Ildar Akhmetov 10.08.2018 15:42

он показывает все поля базы данных. Я хочу выбрать базу данных.

abhi chavda 10.08.2018 15:45

Затем добавьте table_schema = 'YOUR_DB' в часть запроса WHERE.

Ildar Akhmetov 10.08.2018 16:02

Другие вопросы по теме