@sodbroil
Начинающий PHP программист.

Что указывать при создание таблиы MYSQL?

Здравствуйте. Хотелось бы задать один вопросик. Перерыл весь интернет, но нужной информации не нашел.
Имею 4 поля в таблице:
1. id
2. username
3. email
4. password
И вопрос заключается в том, что какие значения, а также типы указывать к данным полям? Я еще новичок, поэтому не совсем разбираюсь.
  • Вопрос задан
  • 81 просмотр
Решения вопроса 1
@granty
Никита Коссман,
1. id

id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY
тогда id при каждой вставке новой записи будет сам увеличиваться на 1. И по нему будет сделан ключ для "быстрой выборки" записей по id

2. username

username VARCHAR(64)
где 64 - максимальная длина имени, более длинные будут обрезаться. Можно уменьшить/увеличить под ваши реалии.
Поле TEXT использовать плохо, у него размер 65535 символов на каждую запись, таблица сильно распухнет.

3. email

email VARCHAR(129) UNIQUE NOT NULL
129 символов - максимально возможная длина емайл согласно текущему RFC
UNIQUE NOT NULL будет гарантировать уникальность всех email в таблице - БД не даст записать одинаковые значения и будет кидать ошибку.

4. password

password VARCHAR(32)
если вы будете хранить там md5 от пароля. Или измените 32 под размер того, что собираетесь там хранить, поскольку вам потребуется где-то хранить "соль". (256 - это максимум для VARCHAR).
PS: Лучше вообще не хранить пароли в БД (даже солёные и шифрованные), в 21 веке они не нужны для авторизации пользователей.

Ну, и сделать ключи/индексы для полей username и email, согласно вашей логики выборки из таблицы (по каким полям в условии WHERE будете делать выборки).
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Zoominger
@Zoominger
System Engineer
Для id можно int, для остального text. Это не самый супер-оптимальный вариант, но это не критично.
Или вы хотите именно строку создания таблицы?
Ответ написан
BojackHorseman
@BojackHorseman Куратор тега MySQL
...в творческом отпуске...
читать внимательно до полного запоминания
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы