Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Не получается создать таблицу скриптом
Форумы портала PHP.SU » » Работа с СУБД » Не получается создать таблицу скриптом

Страниц (1): [1]
 

1. Gladiator95666 - 28 Мая, 2017 - 03:39:59 - перейти к сообщению
Доброго времени. Могу конечно задать сейчас очень глупый вопрос, но все-таки есть какая-нибудь возможность создать таблицу через mysqli.
Помню, когда раньше пользовался обычными mysql типами в написании серверных скриптов то была возможность хоть базу данных собрать парочкой запросов(чем собственно часто пользовался, когда создавал обработчики баз данных).

Сейчас столкнулся с глупейшей проблемой. Собственно мой скрипт создает таблицу, но не полностью с точки зрения баз данных.
Т е запрос происходит и вся формовка создается(столбцы, типы полей и т д) и записывается в некий файл, НО файл хранилища не создается. В чем может быть проблема?

Запрос самый простой типа create table [name] ([field_name])
Сигментирую базу данных по причине медленного чтения больших обьемов данных, а так же более удобного поиска по своим шаблонам. Согласитесь не весело ждать пол часа ответа от таблицы данных с больше чем миллиардом строк.

Сама неприятность в том, что таблица не создается физически. Так понял ibd это файл хранения данных в базе данных от соответствующего движка. Забавность в том, что скрипт отправляет запрос, происходит создание формовки полей... и все. Скрипт записывает данные в пустоту.

Тип движка у таблицы InnoDB, версия mysql 5.6. Настройки все стандартные.
2. Vladimir Kheifets - 28 Мая, 2017 - 07:48:28 - перейти к сообщению
Добрый день! Если в MYSQL что-то "не создается физически", то прежде всего нужно проверять соединение.
$con=mysqli_connect("localhost","my_user","my_password","my_db");
var_dump($con);
Затем нужно проверить не потеряли ли вы параметр в $con, которого не было у Вас
mysql_query$query) т.е теперь должно быть.
mysqli_query($con,$query) OR DIE(mysqli_error($con));
mysqli_error может подсказать в чём проблема.
3. Мелкий - 28 Мая, 2017 - 09:31:04 - перейти к сообщению
Gladiator95666 пишет:
Тип движка у таблицы InnoDB, версия mysql 5.6. Настройки все стандартные.

Проверьте гайку innodb_file_per_table.

Gladiator95666 пишет:
Сигментирую базу данных

https://dev[dot]mysql[dot]com/doc/refman[dot][dot][dot]artitioning[dot]html ?

Gladiator95666 пишет:
Согласитесь не весело ждать пол часа ответа от таблицы данных с больше чем миллиардом строк.

Какой запрос и соответствующий explain?

 

Powered by ExBB FM 1.0 RC1