sql >> Database >  >> RDS >> Mysql

Nummerreeks in MySQL

Aangezien xrange niet bestaat, kan men een aparte tabel gebruiken die is opgeslagen met integer (zoals eerder beantwoord), of gewoon een opgeslagen procedure maken om het werk te doen:

DROP PROCEDURE IF EXISTS xrange;
DELIMITER //
CREATE PROCEDURE xrange(x INT, y INT)
BEGIN
  DECLARE i INT DEFAULT x;
  CREATE TEMPORARY TABLE xrange_tmp (c1 INT);
  WHILE i < y DO
    INSERT INTO xrange_tmp VALUES (i);
    SET i = i + 1;
  END WHILE;
END;
//

Gebruik:

CALL xrange(-2,10);
SELECT c1 FROM xrange_tmp;
DROP TABLE xrange_tmp;

Het bovenstaande gaat duidelijk langzamer dan het maken van een kant-en-klare tabel met gehele getallen. Het is echter flexibeler.



  1. Mysql externe sleutel door niet-unieke sleutel - hoe is dat mogelijk?

  2. MySQL LOAD DATA LOKAAL INFILE voorbeeld in python?

  3. Hoe genereer ik geneste json-objecten met behulp van mysql native json-functies?

  4. Er wordt niets weergegeven nadat ik de pagina heb geladen