sql >> Database teknologi >  >> RDS >> Mysql

Oprettelse af en taltabel i MySQL

Du mangler semikolon, kommaer, og selv efter at have rettet syntaks er det stadig ikke en god idé at vælge max fra tabellen hver gang bare for at indsætte en række mere i en løkke.

Drop det og brug generatorer fra http:/ /use-the-index-luke.com/blog/2011-07-30/mysql-row-generator :

CREATE OR REPLACE VIEW generator_16
AS SELECT 0 n 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   UNION ALL SELECT 10 UNION ALL SELECT 11 UNION ALL
   SELECT 12  UNION ALL SELECT 13 UNION ALL SELECT 14 UNION ALL 
   SELECT 15;

CREATE OR REPLACE VIEW generator_256
AS SELECT ( ( hi.n << 4 ) | lo.n ) AS n
     FROM generator_16 lo, generator_16 hi;

CREATE OR REPLACE VIEW generator_4k
AS SELECT ( ( hi.n << 8 ) | lo.n ) AS n
     FROM generator_256 lo, generator_16 hi;

CREATE OR REPLACE VIEW generator_64k
AS SELECT ( ( hi.n << 8 ) | lo.n ) AS n
     FROM generator_256 lo, generator_256 hi;

CREATE OR REPLACE VIEW generator_1m
AS SELECT ( ( hi.n << 16 ) | lo.n ) AS n
     FROM generator_64k lo, generator_16 hi;

Og hvis du af en eller anden grund virkelig har brug for en tabel med tal, skal du bare gøre:

INSERT INTO numbers(number)
SELECT n FROM generator_64k WHERE n < 64000


  1. Slet fra to tabeller i én forespørgsel

  2. Oprettelse af en webapp fra bunden ved hjælp af Python Flask og MySQL:Del 3

  3. Opsætning og konfiguration af SQL Server-replikering

  4. Tegn på, at din database ikke længere fungerer for dig