Кто хорошо разбирается в mysql?

Печать RSS
488


Транклюкаторщик
0
21, Как кодеру хочется назвать столбец, так он и называет.
A

Чатланин
0
Превед уважаемые smile
Честно говоря, читал тему, но ничего ниасилил?
Зачем такая сложность? Неужели задача того стоит?
"Гениальность заключается в простоте"
Простые скрипты, но с ПРАВИЛЬНЫМ алгоритмом всегда работают лучше.
Если задачу можно решить без всяких извращений в виде триггеров и прочих нестандартных атрибутов полей, это надо делать!
A

Чатланин
0
Сама задача поставлена неправильно.
Типа, "хочу триггер, чтоб то-то и то-то", но вначале нужно понять, а зачем вообще этот триггер?
Что нужно сделать?
---
К примеру, когда что-то делаем, у нас есть КОНЕЧНАЯ цель. Ее то и нужно четко ставить. А уж потом, будем искать кратчайшие пути ее достижения smile
В

Чатланин
0
1. Чем отличается тип INT(11) от например типа INT(6)?
2. Чем чревато использовать не тот тип в плане тормознутости или объёма базы?
3. Что за тип VARCHAR и в каких ситуациях его лучше использовать?
В

Чатланин
0
4. Какой тип должно иметь поле, у которого может быть только 2 значения (1 или 0)

Пацак
0
25, 26, не окуел ли ты? При переходе из его анкеты на его сайт, стоит переадресация на изменение его авторитета, т.е. ему плюс.
А

Пацак
0
25,
1. Длинной, т.е. максимально возможным значением.
2, при использовании не того типа:
а) тип преувеличен (можно TINYINT a есть например INT) при возростании числа записей в таблице растет пустующий размер - неэффективное использование ресурсов;
б) уменьшен. придется записать данные в базу, а их автоматически уменьшит до максимально возможного значения данного типа.
3. VARCHAR(количество) это символ. в скобках указывают макс. кол-во символов в поле.
Удобно использовать для ограниченых полей типа логин, пароль, где заведомо извесно, что значение не привысит данной длинны.
4, в таком случае можно использовать BIN - бинарный тип данных
A

Чатланин
0
#28 насчет бинарных данных, ты абсолютно неправ.
Что интересно, не один ты так ошибаешься. мне уже приходилось исправлять скрипты с таким же недоразумением.
---
#26 - правильный ответ, это тип BOOLEAN, хотя, когда его создашь, увидишь, что на самом деле это TINYINT длиной (1)
---
Бинарный тип (как советовал #28) работает, но у него серьезные проблемы с сортировкой и выборкой.
A

Чатланин
0
Щас объясню, почему у бинарного типа есть проблемы.
---
То, что спросил #26 обычно используем для чекбоксов (есть-нету, открыто-закрыто и др.). Это Булевой тип данных (логический, истина-ложь).
Когда создаешь Булевое поле, ставишь по умолчанию 0, а скрипт если надо, записывает 1.
Для Бинарного типа (как советовал 28) НЕЛЬЗЯ выставить значение по умолчанию, поэтому, кроме 1 и 0 появляется третье значение NULL. Вроде подумаете, в чем же разница, между 0 и NULL, но попробуйте сделать запрос с сортировкой и поймете, что разница большая.
Потому то и нельзя в Булевых полях использовать Бинарный тип.
В

Чатланин
0
29,30 спасибо за разьяснения, я сам всё время использовал binary, подозревая неладное, но я всегда устанавливал значение по умолчанию, и проблем с этим вроде не было, да и сортировать такие поля обычно не нужно.
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск