Как я могу просто удалить ключ KEY в MySQL? - PullRequest
0 голосов
/ 18 октября 2019

Доброй ночи пятницы!

Я решаю одну проблему, которая учитывает всю работу панели статистики посещаемости фонда, и я покажу вам официальную информацию из моей 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, систему отображения таблицы уникальных городов в зависимости от выбранной страны и региона и не в состоянии увидеть, получив эту ошибку:

Неопределенный индекс: город

И я применил правильный рабочий код 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>";
                }
              }
?>

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

  1. Затем я попытался ввести команду в MySQL Terminal:
SHOW CREATE TABLE statistic;

2.Проверил, чтодругие таблицы не имеют простых ключей и, как оказалось, помешали полноценной работе новой версии вкладки вот этот отрывок:

KEY `date` (`date`);

3. По публикации в интернете, как удалить ключв столбце, используя DROP KEY , я попытался использовать несколько опций DROP KEY , в столбце, где требуется проблема, и MySQL считал параметры приемлемыми synналоговые ошибки.

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

СПАСИБО ЗА ПРЕДЕЛАМИ!

Источник моего вопроса

Мой вопрос переведен на английский на Bing Перевести и редактировать!

1 Ответ

0 голосов
/ 20 октября 2019

$list является объектом, поэтому вы должны использовать этот код:

$list->city
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...