Задавайте вопросы, мы ответим
Вы не зашли.
Подскажите, пожалуйста. Хочу сделать через цикл создание таблиц в базе данных Mysql. Соответственно, таблицы все разные и мне получается надо каждую поместить в массив и перебором добавить. Возможно ли такое и как это реализовать? Чтобы сам код при создании таблицы был один, а массивы я уже отдельно подключал
Неактивен
А что мешает использовать таблицу в которой хранить (ведь их нужно где-то хранить?) имена таблиц?
Неактивен
Вы наверное не поняли, я хочу через цикл перебрать массив таблиц и заносимых параметров скажем
$arraytable[0] = "table1";
$arraytable[1] = "table2";
$arraytext[0] = "text1";
$arraytext[1] = "text2";
function functionInsert($table; $text){DROP TABLE $table; create table $table $text ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;}
for($i =0; $i<count($array); $i++)
{
functionInsert($arraytable[$i], $arraytext[1])
}
Грубо сделал в виде php примера особо не заморачиваясь с синтаксисом, так как на php мне все равно не надо, исключительно для понимания задачи. По другому сделать ничего не мешает, но хочется именно так, для изучения циклов и функций.
Неактивен
Может не обязательно так, как я написал, но хотелось бы в любом случае использовать циклы для создания таблиц
Неактивен
Поправьте меня, я так понимаю, что мне нужно сделать цикл в хранимой процедуре и уже в нее передать нужные мне данные
Неактивен
Для начала делаю так
Неактивен
Чтобы подставить переменную в качестве имени таблицы, используйте PREPARE
Неактивен
Спасибо, вышло, а как бы мне теперь в цикле все это дела перебрать, подставляя названия таблиц и выбираемые поля
Неактивен
Используйте LOOP
https://dev.mysql.com/doc/refman/5.7/en/loop.html
Есть несколько вариантов. Например, создать временную таблицу с именами таблиц, а в цикле выбирать по одной и удалять обработанную из временной таблицы.
Неактивен
Спасибо, правда я пока остановился на while и разделителях.
Неактивен