конверт в InnoDB

antero
Posts: 111
Joined: Mon Feb 18, 2013 3:13 pm

конверт в InnoDB

Post by antero »

Build 202110041758

По рекомендации скрипта попросил админов сконвертировать таблицы rot_* в InnoDB, они отписали:
При конвертировании таблицы rot_cell_data, rot_page_items, rot_comments, rot_users в Innodb
возникла ошибка
ERROR 1067 (42000) at line 1: Invalid default value for 'date'

Ошибка возникает так как есть параметры
NO_ZERO_IN_DATE, NO_ZERO_DATE в sql_modes

mysql> show variables like 'sql_mode';
+---------------+------------------------------------------------------------------------------------------------------------------------+
| Variable_name | Value |
+---------------+------------------------------------------------------------------------------------------------------------------------+
| sql_mode | STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |

Исходя из документации MySQL https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html

"Изменение режима SQL сервера после создания и вставки данных в многораздельные таблицы может вызвать серьезные изменения в поведении таких таблиц и может привести к потере или повреждению данных. Настоятельно не рекомендуется менять режим SQL после создания таблиц, использующих определяемое пользователем разделение."
Они интересуются могут ли изменить sql_modes.
admin
Site Admin
Posts: 37250
Joined: Wed Sep 10, 2008 11:43 am

Re: конверт в InnoDB

Post by admin »

1 ERROR 1067 (42000) at line 1: Invalid default value for 'date'

на какой конкретно таблице?

2 можно менять, если что-то не будет работать - говорите, поправим
но сначала хотелось бы разобраться с датой что б такой проблемы не возникало на других серваках, мало ли как будет мускл настроен там
Don't forget to run script update
antero
Posts: 111
Joined: Mon Feb 18, 2013 3:13 pm

Re: конверт в InnoDB

Post by antero »

1 На таблицах rot_cell_data, rot_page_items, rot_comments, rot_users
admin
Site Admin
Posts: 37250
Joined: Wed Sep 10, 2008 11:43 am

Re: конверт в InnoDB

Post by admin »

проверил на rot_comments - там дефолтное значение есть
какое у вас стоит?
Don't forget to run script update
admin
Site Admin
Posts: 37250
Joined: Wed Sep 10, 2008 11:43 am

Re: конверт в InnoDB

Post by admin »

можно просто explain таблицы
Don't forget to run script update
antero
Posts: 111
Joined: Mon Feb 18, 2013 3:13 pm

Re: конверт в InnoDB

Post by antero »

ERROR 1067 (42000) at line 1: Invalid default value for 'reg_date'

mysql> describe rot_users;
+----------+--------------+------+-----+---------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------------------+----------------+
| user_id | int(11) | NO | PRI | NULL | auto_increment |
| email | varchar(50) | NO | MUL | NULL | |
| username | varchar(255) | NO | | NULL | |
| password | varchar(255) | NO | | NULL | |
| reg_code | varchar(20) | NO | | NULL | |
| reg_date | datetime | NO | | 0000-00-00 00:00:00 | |
| status | tinyint(4) | NO | | 0 | |
+----------+--------------+------+-----+---------------------+----------------+
admin
Site Admin
Posts: 37250
Joined: Wed Sep 10, 2008 11:43 am

Re: конверт в InnoDB

Post by admin »

спасибо, добавил в ап изменения что б работало и с такими настройками базы
Don't forget to run script update
antero
Posts: 111
Joined: Mon Feb 18, 2013 3:13 pm

Re: конверт в InnoDB

Post by antero »

Обновился до 202110060810, админы пишут, что опять ошибки:
# find /var/db/mysql/basename/ -name "rot_*.MYD" | sed 's/.MYD//' | awk -F "/" '{print "echo "$5,$6"\nmysql "$5" -e \"""ALTER TABLE",$6,"ENGINE=InnoDB;\""""}'|sh
basename rot_cell_data
ERROR 1292 (22007) at line 1: Incorrect datetime value: '0000-00-00 00:00:00' for column 'date' at row 1
admin
Site Admin
Posts: 37250
Joined: Wed Sep 10, 2008 11:43 am

Re: конверт в InnoDB

Post by admin »

что говорит describe таблицы? может это старая ошибка то
Don't forget to run script update
antero
Posts: 111
Joined: Mon Feb 18, 2013 3:13 pm

Re: конверт в InnoDB

Post by antero »

"DESCRIBE rot_cell_data"
+------------+----------+------+-----+---------------------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+----------+------+-----+---------------------+-------+
| show_place | int(11) | NO | PRI | 0 | |
| page_id | int(11) | NO | PRI | 0 | |
| clicks | int(11) | NO | | 0 | |
| ctr | float | NO | | 0 | |
| cell_ctr | float | NO | | 0 | |
| date | datetime | NO | | 2020-01-01 01:01:01 | |
+------------+----------+------+-----+---------------------+-------+
Post Reply