Дмитрий Кондин 690 Жалоба Опубликовано: April 30, 2022 Иногда необходимо создать сразу много пользователей на сайте. Для этого можно использовать модуль Excel. 1. Сначала в пользователях получаем таблицу существующих записей. Будет скачана такая таблица Excel В ней мы по образцу предыдущих записей заполняем нужные колонки (группа, логин, email, ФИО, активность и телефоны) Поле ID оставляем пустым, чтобы эти записи при загрузке создались с новыми ИД. Теперь загружаем готовый файл в такой последовательности Теперь нужно пользователям установить пароль. Если вы грузили 1-2 записи, то можно вручную через админку. Но если таких записей 100, тогда быстрее использовать phpmyadmin. Сначала генерируем md5-хэш нужного пароля. Например, мы хотим поставить всем новым пользователям пароль 12345 Можно в PHP скрипте написать функцию <?php echo md5('12345'); Будет выведена строчка 827ccb0eea8a706c4c34a16891f84e7b Это и есть наш хэш-пароля, который мы запишем в базу. Также можно использовать гугл и поискать md5 online, вот например http://www.md5.cz/ Теперь нужно выполнить sql-запрос через phpmyadmin. Для начала узнаем user_id нового пользователя. Запрос для установки пароля 12345 будет таким. update re_user set password='827ccb0eea8a706c4c34a16891f84e7b' where user_id=2769 Если у нас 100 новых пользователей и всем им мы хотим поставить пароль 12345, тогда для всех пользователей, которые добавлены после user_id=2769 условие будет таким update re_user set password='827ccb0eea8a706c4c34a16891f84e7b' where user_id > 2769 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Realtor 47 Жалоба Опубликовано: May 4, 2022 Если будем загружать новый файл с емайл или номером телефона , присутствующим в базе пользователей , загрузит или не загрузит новую запись? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Дмитрий Кондин 690 Жалоба Опубликовано: May 4, 2022 9 минут назад, Realtor сказал: Если будем загружать новый файл с емайл или номером телефона , присутствующим в базе пользователей , загрузит или не загрузит новую запись? Дубль email не разрешит. Поле телефон, если у него нет индекса уникальности, то продублирует. 1 Realtor reacted to this Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Realtor 47 Жалоба Опубликовано: May 4, 2022 Как ставить индекс уникальности на поле ? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Дмитрий Кондин 690 Жалоба Опубликовано: May 4, 2022 3 часа назад, Realtor сказал: Как ставить индекс уникальности на поле ? В phpmyadmin выполняем запрос create unique index mobile_index on re_user (mobile); Подробнее в документации https://dev.mysql.com/doc/refman/8.0/en/create-index.html Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Realtor 47 Жалоба Опубликовано: May 6, 2022 В 04.05.2022 в 10:36, Дмитрий Кондин сказал: В phpmyadmin выполняем запрос create unique index mobile_index on re_user (mobile); Подробнее в документации https://dev.mysql.com/doc/refman/8.0/en/create-index.html Ошибка SQL запрос: Копировать create unique index mobile_index on re_user (mobile); Ответ MySQL: #1062 - Дублирующаяся запись '1234567890' по ключу 'mobile_index' Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Дмитрий Кондин 690 Жалоба Опубликовано: May 7, 2022 10 часов назад, Realtor сказал: Ошибка SQL запрос: Копировать create unique index mobile_index on re_user (mobile); Ответ MySQL: #1062 - Дублирующаяся запись '1234567890' по ключу 'mobile_index' Уникальный индекс можно создать только с уникальным значениями. Вам сначала нужно в базе поменять дублирующиеся номера телефонов пользователей, на уникальные. После вы сможете создать индекс и этот индекс не будет допускать новых дублей. Можно сделать более жесткую процедуру, когда при создании индекса mysql сам будет удалять дублирующие записи, но тогда будут просто удалены пользователи. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Realtor 47 Жалоба Опубликовано: May 7, 2022 2 часа назад, Дмитрий Кондин сказал: Уникальный индекс можно создать только с уникальным значениями. Вам сначала нужно в базе поменять дублирующиеся номера телефонов пользователей, на уникальные. После вы сможете создать индекс и этот индекс не будет допускать новых дублей. Можно сделать более жесткую процедуру, когда при создании индекса mysql сам будет удалять дублирующие записи, но тогда будут просто удалены пользователи. Что интересно, такая запись одна и она самая последняя Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Дмитрий Кондин 690 Жалоба Опубликовано: May 7, 2022 3 часа назад, Realtor сказал: Что интересно, такая запись одна и она самая последняя Добавьте туда еще цифр и попробуйте снова индекс сделать. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Realtor 47 Жалоба Опубликовано: May 10, 2022 В 07.05.2022 в 12:39, Дмитрий Кондин сказал: Добавьте туда еще цифр и попробуйте снова индекс сделать. Нельзя добавить ограничено форматом телефона Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Дмитрий Кондин 690 Жалоба Опубликовано: May 11, 2022 16 часов назад, Realtor сказал: Нельзя добавить ограничено форматом телефона Замените цифру какую-нибудь. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Realtor 47 Жалоба Опубликовано: May 11, 2022 Переставил местами и заменил цифры и ругается именно на эту запись Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Realtor 47 Жалоба Опубликовано: May 11, 2022 Еще вопрос если в таблице data создать индекс create unique index mobile_index on re_data (phone); то при загрузке через приложение exel не будут добавляться объекты с дублирующими номера телефонов? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Дмитрий Кондин 690 Жалоба Опубликовано: May 11, 2022 6 часов назад, Realtor сказал: Еще вопрос если в таблице data создать индекс create unique index mobile_index on re_data (phone); то при загрузке через приложение exel не будут добавляться объекты с дублирующими номера телефонов? Не будут. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Дмитрий Кондин 690 Жалоба Опубликовано: May 11, 2022 6 часов назад, Realtor сказал: Еще вопрос если в таблице data создать индекс create unique index mobile_index on re_data (phone); то при загрузке через приложение exel не будут добавляться объекты с дублирующими номера телефонов? удалите эту запись, создайте индекс и после создайте такую же запись. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Realtor 47 Жалоба Опубликовано: May 11, 2022 1 час назад, Дмитрий Кондин сказал: Не будут. А если будет в существующей записи пустующее поле phone и будет добавляться запись с пустующим полем, оно не будет дублем или будет? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Realtor 47 Жалоба Опубликовано: May 11, 2022 1 час назад, Дмитрий Кондин сказал: удалите эту запись, создайте индекс и после создайте такую же запись. удалил эту запись , запустил индексацию теперь такая же ошибка только на последний добавленный номер телефона( Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Дмитрий Кондин 690 Жалоба Опубликовано: May 12, 2022 8 часов назад, Realtor сказал: А если будет в существующей записи пустующее поле phone и будет добавляться запись с пустующим полем, оно не будет дублем или будет? 8 часов назад, Realtor сказал: удалил эту запись , запустил индексацию теперь такая же ошибка только на последний добавленный номер телефона( Тут я думаю вам полезно будет понять сам смысл индекса уникальности. Индекс сработает только в том случае, если у вас в поле mobile ни одна запись не будет повторяться дважды. Это относится и к пустым полям. Пустое поле может быть, но только одно. Если у вас теперь ругается на другой номер, то можете сделать так. select * from re_user where mobile='ВАШ_НОМЕР_НА_КОТОРЫЙ_РУГАЕТСЯ' Так вы получите все одинаковые записи с этим номером. Меняете номера и такую процедуру повторяете несколько раз, пока все дубли вручную не уберете. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Realtor 47 Жалоба Опубликовано: May 12, 2022 59 минут назад, Дмитрий Кондин сказал: Тут я думаю вам полезно будет понять сам смысл индекса уникальности. Индекс сработает только в том случае, если у вас в поле mobile ни одна запись не будет повторяться дважды. Это относится и к пустым полям. Пустое поле может быть, но только одно. Если у вас теперь ругается на другой номер, то можете сделать так. select * from re_user where mobile='ВАШ_НОМЕР_НА_КОТОРЫЙ_РУГАЕТСЯ' Так вы получите все одинаковые записи с этим номером. Меняете номера и такую процедуру повторяете несколько раз, пока все дубли вручную не уберете. Так нет в таблице одинаковых номеров , при добавлении юзера через интерфейс стоит проверка на уникальность номера Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Дмитрий Кондин 690 Жалоба Опубликовано: May 12, 2022 5 часов назад, Realtor сказал: Так нет в таблице одинаковых номеров , при добавлении юзера через интерфейс стоит проверка на уникальность номера Если бы не было одинаковых, то индекс бы создался. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Realtor 47 Жалоба Опубликовано: May 12, 2022 4 часа назад, Дмитрий Кондин сказал: Если бы не было одинаковых, то индекс бы создался. Проверял на дубли. Почему то всегда жалуется на телефон последнего добавленного пользователя. Если мне не верите проверьте Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах