sql >> Database >  >> RDS >> Mysql

Variabelen gebruiken als OFFSET in SELECT-statments in de opgeslagen functies van mysql

In MySQL vóór 5.5 kunt u geen variabele in de LIMIT . plaatsen clausule in MySQL opgeslagen procedures. Je moet het in een string interpoleren en de string dan als een dynamische query uitvoeren.

SET rand_offset = FLOOR(RAND() * (SELECT COUNT(*) FROM all_words));
SET @sql = CONCAT('SELECT word INTO str_rnd_word FROM all_words LIMIT 1 OFFSET ', rand_offset);
PREPARE stmt1 FROM @sql;
EXECUTE stmt1;



  1. MySQL:Hoe rijen te kopiëren, maar een paar velden te wijzigen?

  2. JDBC:Datumwaarden invoegen in MySQL

  3. Spring Boot + docker-compose + MySQL:verbinding geweigerd

  4. DAYOFWEEK() Voorbeelden – MySQL