mysql — как создать столбец идентификатора для столбца

#mysql #mysql-python #wampserver #mysql-connector

Вопрос:

я хочу создать таблицу с 3 столбцами :

  1. время посещения : имейте уникальный идентификатор для каждого конкретного посетителя
  2. Идентификатор посетителя
  3. Дата

я попытался создать таблицу, показывающую этот код

СОЗДАЙТЕ ТАБЛИЦУ test . table ( visit_times INT NOT NULL AUTO_INCREMENT , visitor_ID INT NOT NULL , Date VARCHAR NOT NULL , УНИКАЛЬНЫЙ Unique column ( visit_times , visitor_ID )) ДВИЖОК = MyISAM;

но когда я сохраняю эти данные в таблице

 INSERT INTO `tab`(`visitor_ID`, `date`) VALUES ("1", "15/05/2021");
INSERT INTO `tab`(`visitor_ID`, `date`) VALUES ("1", "20/07/2021");
INSERT INTO `tab`(`visitor_ID`, `date`) VALUES ("2", "02/09/2021");
INSERT INTO `tab`(`visitor_ID`, `date`) VALUES ("3", "24/08/2021");
 

результат будет таким

время посещений Идентификатор посетителя Дата
1 1 15/05/2021
2 1 20/07/2021
3 2 02/09/2021
4 3 24/08/2021

и чего я на самом деле хочу в результате

время посещений Идентификатор посетителя Дата
1 1 15/05/2021
2 1 20/07/2021
1 2 02/09/2021
1 3 24/08/2021

Версия сервера: 8.0.21 — Сервер сообщества MySQL — GPL

Я использую Wampserver версии 3.2.3 — 64 бит

Версия Apache : 2.4.46


Спасибо за помощь

Комментарии:

1. В соответствии с руководством по вопросам, пожалуйста, покажите, что вы пробовали, и расскажите нам, что вы нашли (на этом сайте или в другом месте) и почему это не соответствует вашим потребностям.

2. К вашему сведению, «посетитель» по-английски пишется «посетитель».

3. visit_times Столбец определен как AUTO_INCREMENT, поэтому вы сказали MySQL добавить его в предыдущие visit_times строки visit_times и использовать его. Теперь у вас НЕТ КОНТРОЛЯ над этим столбцом, поэтому либо он определен неправильно, либо ваша логика ошибочна.

Ответ №1:

Вы можете использовать row_number() :

 select row_number() over (partition by ID_of_visiter order by timecol) as num_of_visit,
       t.*
from t;
 

Комментарии:

1. но я хочу, чтобы он был столбцом, чтобы использовать его в python и отображать данные в таблице в tkinter ????