Я пытаюсь вставить случайную дату и время в мою таблицу, но когда я вызываю процедуру, она показывает мне ошибку, которая является неверным значением времени данных, и я не знаю почему.Пожалуйста, кто-нибудь может мне помочь и объяснить?
в datumPredvajanja Я хочу установить только дату в casPredvajanja Я хочу установить только время, как я это делаю?Я уверен, что мое случайное время генерации в datum_predvajanja правильное.
Мое утверждение создания:
CREATE TABLE IF NOT EXISTS `pb2_pb`.`Spored` (
`ID_Spored` INT NOT NULL,
`datumPredvajanja` DATETIME NOT NULL,
`casPredvajanja` DATETIME NOT NULL,
`aktualno` VARCHAR(45) NOT NULL
)
ENGINE = InnoDB;
Моя процедура:
DELIMITER //
CREATE PROCEDURE polni_spored (st_sporeda INT)
BEGIN
DECLARE datum_predvajanja DATETIME;
DECLARE cas_predvajanja DATETIME;
DECLARE aktualno VARCHAR(45);
DECLARE stevec INT;
DECLARE konecVal INT;
SET stevec = 0;
SET konecVal = st_sporeda;
WHILE (stevec < konecVal) DO
SET datum_predvajanja = (SELECT DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP(NOW()) + FLOOR(0 + (RAND() * 63072000))), '%Y-%m-%d'));
SET cas_predvajanja = NOW() - INTERVAL FLOOR(RAND() * 1000) DAY;
SET aktualno = "DA";
INSERT INTO `pb2_pb`.`Spored` (`datumPredvajanja`, `casPredvajanja`, `aktualno`) VALUES ('datum_predvajanja', 'cas_predvajanja', CONCAT(aktualno, (stevec + 1)));
SET stevec = stevec + 1;
END WHILE;
END //
DELIMITER ;
Код ошибки: 1292. Неправильное значение даты и времени: 'datum_predvajanja' для столбца 'datumPredvajanja' в строке 1