«Я позволяет пользователям добавлять таблицы в базе данных.» - Я надеюсь, что все ваши пользователи будут доброжелательными и заслуживающими доверия и способными. Вы беспокоитесь о том, что люди бросают или усекают таблицы, создают неправильные новые таблицы, которые нарушают ваш код, или другие подобные вещи? Какая защита у вас есть, когда пользователи могут войти в вашу базу данных и изменить схему?
Ниже приведено tutorial относительно нормализации базы данных. Может быть, это поможет.
Только в случае, если кто-то, что приходит после того, как вы хотите найти то, что это могло бы выглядеть, вот одна таблицы, которая может делать то, что вы хотите:
create database bookfeather;
create user bookfeather identified by 'bookfeather';
grant all on bookfeather.* to 'bookfeather'@'%';
use bookfeather;
create table if not exists book
(
id int not null auto_increment,
title varchar(255) not null default '',
upvotes integer not null default 0,
downvotes integer not null default 0,
primary key(id),
unique(title)
);
Вы бы голосовать титул вверх или вниз с UPDATE:
update book set upvotes = upvotes + 1 where id = ?
добавление новой книги так же легко, как добавить еще один ряд:
insert into book(title) values('grails in action')
Я настоятельно призываю вас пересмотреть.
Dare Я спрашиваю, почему у вас есть 56 таблиц с одинаковой структурой, а не одна таблица с 1 дополнительным полем, чтобы указать, в какой таблице будет запись * *? – Amber
Я согласен с Дэвом, вам, вероятно, следует перепроектировать вашу базу данных. –
Вот как я его настраивал. Я разрешаю пользователям добавлять таблицы в базу данных, поэтому я ожидаю, что число таблиц увеличится выше 56. – 2009-08-05 23:28:21