Maison >base de données >tutoriel mysql >Comment puis-je générer une séquence de nombres dans MySQL sans outils externes ?

Comment puis-je générer une séquence de nombres dans MySQL sans outils externes ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-18 01:56:10597parcourir

How Can I Generate a Sequence of Numbers in MySQL Without External Tools?

Générer des séquences de nombres directement dans MySQL

MySQL offre une méthode intégrée pour créer des séquences de nombres consécutives dans les requêtes SQL, évitant ainsi le recours à des scripts externes.

Par exemple, pour générer des nombres de 1 à 5 :

<code>nr
1
2
3
4
5</code>

La solution : une approche basée sur des ensembles

La requête suivante utilise une approche basée sur des ensembles pour y parvenir :

<code class="language-sql">INSERT INTO myTable (nr)
SELECT SEQ.SeqValue
FROM (
    SELECT (HUNDREDS.SeqValue + TENS.SeqValue + ONES.SeqValue) SeqValue
    FROM (
        SELECT 0 SeqValue UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9
    ) ONES
    CROSS JOIN (
        SELECT 0 SeqValue UNION ALL SELECT 10 UNION ALL SELECT 20 UNION ALL SELECT 30 UNION ALL SELECT 40 UNION ALL SELECT 50 UNION ALL SELECT 60 UNION ALL SELECT 70 UNION ALL SELECT 80 UNION ALL SELECT 90
    ) TENS
    CROSS JOIN (
        SELECT 0 SeqValue UNION ALL SELECT 100 UNION ALL SELECT 200 UNION ALL SELECT 300 UNION ALL SELECT 400 UNION ALL SELECT 500 UNION ALL SELECT 600 UNION ALL SELECT 700 UNION ALL SELECT 800 UNION ALL SELECT 900
    ) HUNDREDS
) SEQ;</code>

Cette méthode permet de générer des séquences de nombres directement dans vos requêtes MySQL, simplifiant ainsi la gestion des bases de données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn