登录 | 注册 | FAQ
Anonymous

Помощь в MySQL

+ 发表回复

6 篇帖子 分页: 1 / 1


Помощь в MySQL

Vlad » 周六 6月 16, 2012 3:35 pm

Помогите. Проблема такая. Через форму в уже заранее созданной таблице создается запись. В таблице есть имя, название, текст и идентификатор. Нужно чтобы вместе с записью создавалась новая таблица с названием "commentID", и чтобы вместо ID был идентификатор записи. Как это можно сделать?
头像

Vlad

  • 帖子: 5
  • 注册: 周五 6月 15, 2012 2:30 pm

Re: Помощь в MySQL

Muxa » 周六 6月 16, 2012 4:07 pm

代码: 全选
$id=$вашID;
$query="CREATE TABLE IF NOT EXISTS table_name$id (
id INT (11) UNSIGNED NOT NULL AUTO_INCREMENT,
name CHAR (30) NOT NULL,
comment CHAR (30) NOT NULL,
PRIMARY KEY (id)
)ENGINE = MYISAM ;";
mysql_query($query) or die(mysql_error());

но это полный бред.
не проще ли добавить поле в таблицу с комментами и туда записывать этот самый ид??
представьте сколько у вас будет (причем пустых) таблиц если хотя бы 50 комментов будет
сервак просто положите, хостер вас выкинет
头像

Muxa

  • 帖子: 181
  • 注册: 周二 5月 15, 2012 7:14 pm

Re: Помощь в MySQL

Vlad » 周六 6月 16, 2012 4:16 pm

Я пока просто думал над возможным решением проблем с комментариями. Может мое решение и глупое, но просто я хочу посмотреть что будет. С id я уже решил. Таблицы создает нормальные. Но теперь не может отобразить данные. Пишет что лишний > в строчке
代码: 全选
echo "<p>" $row["name"] "<p>";

代码: 全选
<?php
   // Соединиться с сервером БД
   mysql_connect("openserver", "qwerty", "qwerty") or die (mysql_error ());

   // Выбрать БД
   mysql_select_db("creepy") or die(mysql_error());
   $id = mysql_insert_id();
   // Получить данные из БД, в зависимости от значения id в URL
   $strSQL = "SELECT * FROM comment$id ;
   $rs = mysql_query($strSQL);
   
   // Цикл по $rs
   while($row = mysql_fetch_array($rs)) {
      // Записать данные человека
      echo "<p>" $row["name"] "<p>";
      echo "<p>" $row["text"] "<p>";
   }

   // Закрыть соединение с БД
   mysql_close();
   ?>
头像

Vlad

  • 帖子: 5
  • 注册: 周五 6月 15, 2012 2:30 pm

Re: Помощь в MySQL

Vlad » 周六 6月 16, 2012 4:17 pm

И еще. Почему случиться крэш если будет 50 таблиц?
头像

Vlad

  • 帖子: 5
  • 注册: 周五 6月 15, 2012 2:30 pm

Re: Помощь в MySQL

Muxa » 周六 6月 16, 2012 7:29 pm

代码: 全选
echo "<p>".$row["name"]."<p>";

代码: 全选
<?php
   // Соединиться с сервером БД
   mysql_connect("openserver", "qwerty", "qwerty") or die (mysql_error ());

   // Выбрать БД
   mysql_select_db("creepy") or die(mysql_error());
   $id = mysql_insert_id();
   // Получить данные из БД, в зависимости от значения id в URL
   $strSQL = "SELECT * FROM comment$id";
   $rs = mysql_query($strSQL);
   
   // Цикл по $rs
   while($row = mysql_fetch_array($rs)) {
      // Вывести данные человека
      echo "<p>".$row["name"]."<p>";
      echo "<p>".$row["text"]."<p>";
   }

   // Закрыть соединение с БД
   mysql_close();
   ?>

вот так правильно должно быть..
Ваш SQL-запрос был успешно выполнен (Запрос занял 0.0854 сек)
SQL-запрос:
CREATE TABLE IF NOT EXISTS `comid` (
`id` INT NOT NULL AUTO_INCREMENT ,
`fsdfsd` VARCHAR( 244 ) NOT NULL ,
`fsdfsdfsfs` VARCHAR( 255 ) NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = MYISAM

заходим в калькулятор, умножаем время на 50 (к примеру) получаем 4.27 секунды. это раз
второе - хостеру навряд ли понравится куча таблиц в бд
третье.. как вы сами то собираетесь там разбираться?
ну и четвертое, наконец.. зачем вам вообще этот лишний геморрой!? куда проще вставлять этот ид в другое поле той же таблицы - и времени меньше займет запрос, и кода намного меньше писать.
Добавлены ряды: 1
Вставить id ряда: 1 (Запрос занял 0.0010 сек)
SQL-запрос:
INSERT INTO `comid` ( id, fsdfsd )
VALUES (
'', '122'
)

опять же, заходим в калькулятор, умножаем на 50 - и получаем всего лишь 0,05 секунды
намного быстрее, не правда ли?) почти в 86 раз
если создавать таблицу только с одним полем без ключа - то не намного быстрее выходит
Ваш SQL-запрос был успешно выполнен (Запрос занял 0.0682 сек)
SQL-запрос:
CREATE TABLE IF NOT EXISTS `comid` (
number INT NOT NULL
) ENGINE = MYISAM

при умножении на 50 получается 3 с чем то секунды - все равно в 60 раз медленнее
и вообще, если честно, я не совсем понимаю что именно вы хотите, зачем вообще такая затея..
это все для расчета на 50.
а представьте 100 пользователей хотя бы одновременно?
头像

Muxa

  • 帖子: 181
  • 注册: 周二 5月 15, 2012 7:14 pm

Re: Помощь в MySQL

XainPro » 周一 6月 18, 2012 6:09 am

Сделать ID авто прирост
头像

XainPro

  • 帖子: 3933
  • 注册: 周五 2月 17, 2012 8:10 pm


+ 发表回复

分页: 1 / 1