Генерация большого диапазона чисел в MySQL

#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 .