Эй, я хочу написать функцию в sql, которая вставляет параметры передачи обслуживания. Мой код:Mysql Вставить в переменные
CREATE PROCEDURE `p_add_client`(IN p_username VARCHAR(45),IN p_reach VARCHAR(45),IN p_purchase VARCHAR(45))
BEGIN
set @str = ('INSERT INTO t_', p_username,'(Purchase,Reach) VALUES (p_purchase,p_reach)');
prepare stmt from @str;
execute stmt;
deallocate prepare stmt;
, но он не работает. Я получаю код ошибки 1064. Может ли кто-нибудь мне помочь?
Фактически у меня был только один стол. но для 100 клиентов таблица имеет 1 * 10^7 строк. так что лучше для исполнения, если у каждого есть своя таблица. поэтому мне нужно проверить только несколько тысяч строк для клиента. это неправильно? на столе было бы очень легко – nicoschuck
@nicoschuck. , , Вам нужна одна таблица с соответствующим индексом. Если у вас десять миллионов строк, вам также может понадобиться какая-то схема разбиения. –