seregazolotaryow64
@seregazolotaryow64
IT Специалист и самоучка

Как просто удалить ключ KEY в MySQL?

Доброго вечера пятницы!
Решаю одну проблему, мещающую полноценной работе панели статистики посещаемости сайта Фонда и я покажу вам служебную информацию моей MySQL-таблицы запросов к сайту:
CREATE TABLE `statistic` (
 `date` datetime NOT NULL,
 `ip` text NOT NULL,
 `city` text NOT NULL,
 `region` longtext NOT NULL,
 `country` longtext NOT NULL,
 `ua` text NOT NULL,
 `source` text NOT NULL,
 `page` text NOT NULL,
 `month` int(2) NOT NULL,
 `year` year(4) NOT NULL,
 `week` int(2) NOT NULL,
 `resource` text NOT NULL,
 `id` int(11) NOT NULL AUTO_INCREMENT,
 PRIMARY KEY (`id`),
 KEY `date` (`date`)
) ENGINE=InnoDB AUTO_INCREMENT=12442 DEFAULT CHARSET=utf8


Сейчас я тестирую новую версию вкладки "Регионы" самой панели статистики.
И я хочу посмотреть в самой новой версии реализованную мной на PHP и Yii1 систему показа таблицы уникальных городов в зависимости от выбранной страны и региона и посмотреть не удалось, получив эту ошибку:

Undefined index: city

А применил правильный работающий PHP-код в шаблоне вкладки:
<?php
  else if (isset($_GET['country']) && isset($_GET['region'])) {
                $c = trim($_GET['country']);
                $r = trim($_GET['region']);
                $static=Yii::app()->db->CreateCommand();
                $static->selectDistinct("city");
                $static->from("statistic");
                $static->where(array("and","resource='Добрые-Взрослые'","country='". $c ."'","region='". $r ."'"));
                $regions=$static->queryAll();

                foreach ($regions as $list) {

                   echo "<tr>";
                   echo "<td><a href='/static/?static_page=regions&country=". $c ."&region=". $r ."&city=". $list['city'] ."'><img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAACTwAAAk8B95E4kAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAANdSURBVFiF7ZbfT5NnFMc/5+kLpV0KyYhmc44sm6KTQZGi7AIX40YWkznNZvwnDAmtGyRe7Wa/3Cyo2/4J9kucY8Ylu9ALECoUxUxxbnFTowlGdBEKb5+zC2pWXtpKsQk3fi+fc97z/Zwn75Nz4KlWWFJMcngwVquO7kV1J8hqoDoTmgRug/Qbn/vt6OajEyUFCA/FNiP2c0Xallj2VNrQNd4UTz4RwPbfPnLuhqa+BNoBA9wBjiv6s7EyYRz3DoB1ndX4qFVlJ7AHWAVYRXs2XrvR2buvN100QGS4q8ol1ZvpegYlng6mPh2v++bfQtAbznaGyivmDgpEAT/IqYA7t2/w9WP3lwywbqLdH5zy/QrSCvxlxe6+GDkyVsjYq7rzsbDP6o/AS8CZh1Vu29X1x1LePJPr42fuOUcz5v/gutuKNQcYb4onrZU3gBvAtuCUE8+Vt+gGwkPRrSoMANOi0prcEh8p1jxb9YkDEVF7BqgAbR5r7jmfHV90A2r4GBBFDj/OvGE4qg3DUS2UcyFyOIFoHBAwn3jjCwDCg7FalLeAydkZ54tChYtRYC59CLgL+nZdIrouL4A6uhdAlO8utx56UCqAzAv4AcCovJ8XAMsOAEVOlsr8kUQ4OW9o38wPINQApI1eKjWAWnsJQJGa7HPHk/ccgDtddttboNDPlis21ty94IUF0vbWtGNQeD773PsKBMAfsjaf2XJ1zw1oxmABmPcGbgHrjZ1dAyyYaN6O4P/Oc8W88vtTazL93sw+997A3wDWdV59XMFiJcZsAhD0egEA7QdQdE+pAVTna1qV/rwAkjZ9ACK8u+FsZ6hU5i0D7ZUg7wBYw4m8AMmW+BVBTwPV5RXuh6UCmC7zdQLPovwyHum+mh1b9PM0nutotEYSwEyJh1G5FdvknayLhtHo1p5REY4AQRXtaxhoX7tc89fOxV4UtceBAEh3rrGecx9INlV9gHICWIvjjDQOdWwv1rwh0bHDGB0BXkC0byxS2ZUrb+krGfLVbDr12e8tX08WMt44uL+6zFd2UJD9LHcle6QcS+kDQfoQ+z2uuTj1sPI6QFXwfo0a6hF9D9gFhHjSpTRbK7aWe1U/FH1ZhF0KbQKvML9wAvwJ/AFyWlV/urCl+1oxdZ9qRfUfHY1asGPwJj4AAAAASUVORK5CYII=' /></a></td>";
                   echo "<td>". $list['city'] ."</td>";
                   $static=Yii::app()->db->CreateCommand('SELECT  COUNT(DISTINCT ip) FROM statistic WHERE resource="Добрые-Взрослые" AND city="'. $list['city'] .'" AND region="'. $r .'" AND country="'. $c .'"');
                   $count=$static->queryScalar();
                   echo "<td>". $count ."</td>";
                   echo "</tr>";
                }
              }
?>


Сам алгоритм отвечает за показ уникальных городов в зависимости от выбранного GET-запросами страны и региона

1.Потом пробовал ввести SQL-команду:
SHOW CREATE TABLE statistic;
2.Проверил, что остальные таблицы не имеют простых ключей и оказалось помешал полноценной работе новой версии вкладки вот такой отрывок:
KEY `date` (`date`)
3.Подискывая в Интернете о том, как удалить ключ в столбце с помощью DROP KEY, пробовал некоторые варианты использования DROP KEY, в столбце, где нуждается в проблеме и MySQL считал варианты допустимыми синтаксисческими ошибками.

Ребята, подскажите мне, пожалуйста как правильно удалить с помощью DROP тип ключа KEY, используемый в столбце "city", чтобы избежать ошибки недопустимого индекса?

Заранее вам спасибо!
  • Вопрос задан
  • 699 просмотров
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
ALTER TABLE `city`
  DROP KEY `date`;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы