MariaDB слишком строгая, как заставить ее работать в стиле старого доброго MySQL?
На сервере поставили MariaDB, мол вроде как это тот же самый MySQL, но по факту не тот же: режим работы более строгий, как минимум следующие действия считаются ошибкой:
- пустая строка, вставляемая в числовое поле, не интерпретируется как 0, а возвращается ошибкой
- пустая строка, вставляемая в SET/ENUM поле, где нет такой опции, но есть DEFAULT, считается ошибкой
- пустая строка, вставляемая в инкрементное поле, считается ошибкой
Наверное это значит, что программа более не занимается приведением типов.
Можно ли заставить ее как-то быть менее строгой?
Я-бы приветствовал строгость как естественный процесс приведения беспорядочного исходного
кода к более порядочному. Это знаетели... как переход с языка C на С++.
mayton2019, Александр Талалаев, ага, сейчас современные тенденции - только строгая/сильная статическая типизация. И вот, программист например на ts расскажет, как всего у него строго. А программист использующий Си робко спросит, а как же операции, например с числами разной длины в байтах, неужели каждый раз вручную надо преобразовывать? Неа, ответит первый программист, мы сразу фигачем все в типы с максимальной длиной и не паримся, но зато у нас все строго и кошерно.
Не то, что бы я за многочисленные неявные преобразования, но все же, не все так однозначно.
Vitsliputsli, эволюция, брат. Современные языки - строгая типизация. Rust, Golang, Nim.
Язык Си можно просто рассмотреть отдельно. Он создавался как портабельный ассемблер и многие вещи которые нам кажутся трюками там остались по историческим причинам. И никто их убирать не будет. Есть сферы разработки где Си просто безальтернативен (микроконтроллеры) но я в данном случае говорю не них, а про разработку бизнес-логики. Тоесть тот сегмент где мы с вами (читатели и писатели в qna.habr) сидим.