您好我正在创建一个日期为列名称的表。我的SQL在ALTER TABLE ADD COLUMN语句中使用变量
我使用此代码列添加到表:
DROP PROCEDURE IF EXISTS filldates;
DELIMITER |
CREATE PROCEDURE filldates(dateStart DATE, dateEnd DATE)
BEGIN
WHILE dateStart <= dateEnd DO
ALTER TABLE dates
ADD dateStart VARCHAR(30);
SET dateStart = date_add(dateStart, INTERVAL 1 DAY);
END WHILE;
END;
|
DELIMITER ;
CALL filldates('2017-01-01','2017-12-31');
但它显示错误dateStart重复的内容,因为它创造了一个列,而不是日期“dateStart”。 如何使用dateStart作为变量。当我使用“INSERT INTO tablename(_date)VALUES(dateStart);”时,而不是ALTER TABLE语句,它不显示任何错误,它将日期插入到数据库中,而是作为'_date'列中的行插入。我希望将日期添加为列名称。
如何使用dateStart作为变量
这将是你的表的设计不好。 –