#mysql
#mysql
Вопрос:
Как мне сгенерировать диапазон чисел в одном столбце в MySQL? Я ищу любое решение для создания диапазона чисел, который начинается с 500000000 и заканчивается на 889999999.
Комментарии:
1. какую версию mysql вы используете
2. SQL предназначен для хранения и извлечения реляционных данных, и не более того
3. Что вы подразумеваете под диапазоном чисел? Сохранить его в таблице? Использовать это в запросе в качестве ограничения? Или слева присоединиться к какой-то таблице? Покажите, как вы хотите его использовать.
Ответ №1:
Кажется, что может потребоваться использовать AUTO_INCREMENT
значение столбца, которое вы хотите. Таким образом, вы можете установить начальное значение на желаемое.
Кроме того, у вас может быть только один AUTO_INCREMENT
столбец в данной таблице.
CREATE TABLE your_table (
column_1 INT NOT NULL AUTO_INCREMENT = 500000000
--Add other columns
)
Если у вас уже есть таблица со AUTO_INCREMENT
столбцом, просто установите значение в то, которое вы хотите.
ALTER TABLE your_table AUTO_INCREMENT = 500000000;
Если вы хотите вставить строки с этими числами, используйте цикл.
Ответ №2:
Просто для удовольствия, сгенерируйте диапазон в текстовом файле любым доступным способом. Выгрузка в текстовый файл. Загрузите этот текстовый файл в свою таблицу. Вы не говорите, ограничены ли вы тем, сколько времени это займет. Похоже, вам просто нужна таблица из одного столбца INT с нижним и верхним пределами.
MySQL должен просто обрабатывать эти числа, на самом деле это не «большой» диапазон, серьезно.
- Вы хотите ограничить значения в столбце {500000000..889999999}?
- Или вы хотите знать, как определить столбец для хранения этих значений?
- Вам нужна письменная процедура для генерации этих чисел для вас?
- Вы хотите, чтобы мы определили это для вас?
- Вы хотите, чтобы мы написали скрипт или программу для их загрузки?
Все эти ответы доступны с минимальными усилиями. Ключевые слова: MySQL, целое число, Типы.
Мы не можем увидеть вашу проблему, потому что ваш вопрос не описывает проблему.
Расскажите нам, что вы пробовали, и расскажите, что получилось…
В противном случае просто добавьте их, вы все еще находитесь на территории INT (-2Gi ..2Gi), а не BIGINT .
Комментарии:
1. вопрос относится к комментариям
Ответ №3:
Переключитесь на MariaDB, затем JOIN
на вызываемую псевдотаблицу seq_500000000_to_889999999
.