如何循環訪問值並將它們插入到數據庫中。具體是什麼我做的是這樣的:我有我想要看起來像這一年表:如何遍歷值並將它們插入數據庫中
years
id name
1 2015*
2 2014
3 2013
etc etc
(2015年在這裏使用,因爲這個問題是在2014年提出的,我想使第一場即今年的第二年 - 例如 - 如果你在2020年閱讀這個問題,第一行應該是2021年)。
的ID字段是auto_incremented,經過一番搜索周圍我已經嘗試了這個...
CREATE PROCEDURE `vehicle_years_data()`
BEGIN
DECLARE i INT DEFAULT YEAR(CURDATE()) + 1;
WHILE (i >= 1900) DO
INSERT INTO `vehicle_years` (`name`) VALUE(CONVERT(i, VARCHAR(255));
SET i = i - 1;
END WHILE
END$$
DELIMITER ;
CALL `vehicle_years_data()`;
DROP PROCEDURE `vehicle_years_data()`;
但是,這給了我:
You have an error in your SQL syntax; check the
BEGIN DECLARE i INT DEFAULT YEAR(CUR' at line 10
我知道靜態的方式來做到這一點簡單地以
INSERT INTO `vehicle_years` (`name`) VALUES
(2015), (2014), (2013), ...
但是,這不僅更加乏味,但我不能讓它動態地啓動今年加一個這樣的方式。
任何幫助將不勝感激。
可能重複http://stackoverflow.com/questions/10922064/how-do-i-get-a-list-of-numbers-in -mysql) – Bulat 2014-09-19 21:19:44