Как только вы говорите: «Я создаю таблицу для каждого пользователя» это антипаттерны я называю Metadata Tribbles. Проблема состоит в том, что эти таблицы, как правило, выходят из-под контроля. :-)
Вместо этого вы должны создать одну таблицу со столбцом для электронной почты пользователя в качестве атрибута.
Если вы используете delimited identifiers, имена SQL таблиц может содержать специальные символы, или даже пробела, SQL зарезервированных слова, международные символы и т.д. Но если взять обратные кавычки прочь, @
и .
не являются допустимыми символами для идентификатор, поскольку он смущает синтаксический анализатор SQL. Подумайте об этом: используете ли вы какие-либо другие языки программирования, которые принимают .
как допустимый символ в имени переменной или имени класса?
Другие советы:
IP
более легко хранить в INT UNSIGNED
, и есть функции INET_ATON() и INET_NTOA(), чтобы преобразовать строку IP-адрес и из двоичного эквивалента. Это поможет вам убедиться, что вы случайно не храните неверный IP-адрес. Также вы можете использовать побитовые двоичные операторы для выполнения операций маскирования подсетей по IP-адресу в двоичной форме.
Столбы FLD1
, FLD2
, FLD3
и т. Д.не являются описательными и указывают, что вы недостаточно рассчитали эту таблицу. Возможно, вам понадобится split this table into a few separate tables для управления многозначными атрибутами. Но нельзя сказать, как это сделать, поскольку ваши столбцы называются так абстрактно.
Почему вам нужен стол за пользователя? почему бы не хранить все данные в одной таблице + по электронной почте? – zerkms
, потому что будет больше (от 1 до 10 дополнительных строк информации), а затем просто электронная почта и пароль для каждого пользователя. –
@user ОК, чтобы иметь дополнительные строки для каждого пользователя. Это настройка базы данных NORMAL. Почему бы вам не стать книгой и немного научиться? –