如何循环访问值并将它们插入到数据库中。具体是什么我做的是这样的:我有我想要看起来像这一年表:如何遍历值并将它们插入数据库中
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