Я создаю свой первый серьезный проект на PHP, и я хочу убедиться, что у меня правильно настроена база данных. Это utf8_general_ci и, например, max, я хочу, чтобы имена пользователей были 20 символов, поэтому поле имени пользователя в базе данных было бы varchar (20)? Извините, если это глупо, просто я кое-что прочитал, что заставляет меня задавать себе вопрос.
Да, вы правы:
CREATE DATABASE my_test_db
DEFAULT CHARACTER SET utf8
DEFAULT COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)
USE my_test_db;
Database changed
CREATE TABLE users (username varchar(20));
Query OK, 0 rows affected (0.04 sec)
INSERT INTO users VALUES ('abcdefghijklmnopqrstuvwxyz');
Query OK, 1 row affected, 1 warning (0.00 sec)
SELECT * FROM users;
+----------------------+
| username |
+----------------------+
| abcdefghijklmnopqrst |
+----------------------+
1 row in set (0.00 sec)