在很多情況下,我們需要在mysql中生成隨機(jī)數(shù)。這可以通過(guò)使用mysql的rand()函數(shù)實(shí)現(xiàn)。預(yù)設(shè)情況下,rand()函數(shù)會(huì)生成0到1之間的隨機(jī)數(shù)。但是,我們可以使用floor()函數(shù)來(lái)將其轉(zhuǎn)換為整數(shù)。
首先,我們需要?jiǎng)?chuàng)建一個(gè)表格,用于存儲(chǔ)我們生成的隨機(jī)數(shù)。我們可以使用以下代碼來(lái)創(chuàng)建:
CREATE TABLE random_numbers ( id INT NOT NULL AUTO_INCREMENT, value INT NOT NULL, created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id) );
現(xiàn)在我們需要編寫(xiě)一個(gè)mysql事件,每分鐘執(zhí)行一次。可以使用以下代碼來(lái)創(chuàng)建:
CREATE EVENT generate_random_number ON SCHEDULE EVERY 1 MINUTE DO BEGIN INSERT INTO random_numbers (value) VALUES (FLOOR(RAND() * 100)); END;
此代碼將每分鐘生成一個(gè)隨機(jī)數(shù),并將其插入到我們剛剛創(chuàng)建的表格中。
最后,我們需要啟用事件調(diào)度程序,以便此事件可以每分鐘執(zhí)行一次。使用以下代碼啟用事件調(diào)度程序:
SET GLOBAL event_scheduler = ON;
現(xiàn)在,我們已經(jīng)成功地按分鐘生成了隨機(jī)數(shù),并將其存儲(chǔ)在mysql表中。