Как сгенерировать число между 1-99 из существующего столбца таблицы MySQL? - PullRequest
1 голос
/ 28 марта 2012

у меня есть такая таблица mysql db:

id name    surname number
1  emil    asadi   26
2  anybody anybody 27

Я хочу проверить число столбец-> то есть, если число не существует между 1-99, то сгенерировать новый номер с начала 1. Новое число также должно быть между 1-99.

Как я могу сделать это с для функции и запроса MySQL? Или ты знаешь другой путь? Спасибо в adnavce

Ответы [ 2 ]

4 голосов
/ 28 марта 2012

Вы можете сгенерировать случайное число, используя один запрос, не начиная с 1, используя запрос ниже. И я не думаю, что это будет иметь значение:

 SELECT id, name, surname,
 if(number between 1 and 99 ,number,floor(1 + rand() * 99)) as number
 FROM table

Дайте мне знать, если это то же самое, что вы хотите.

0 голосов
/ 28 марта 2012

Возможно, попробуйте этот SQL-оператор, чтобы получить разрыв между вашими числами. Если у вас есть пробелы, вы можете использовать результат в функции, которая запускает оператор UPDATE.

SELECT a.number+1 AS start, MIN(b.number) - 1 AS end
FROM database AS a, database AS b
WHERE a.number < b.number
GROUP BY a.number
HAVING start < MIN(b.number)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...