Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用Sequelize在MySQL上存储时间_Javascript_Mysql_Node.js_Express_Sequelize.js - Fatal编程技术网

Javascript 如何使用Sequelize在MySQL上存储时间

Javascript 如何使用Sequelize在MySQL上存储时间,javascript,mysql,node.js,express,sequelize.js,Javascript,Mysql,Node.js,Express,Sequelize.js,如何使用sequelize存储时间HH:MM:SS? 我尝试将时间作为字符串,也作为日期对象,但总是出错。 这是我的职责: const dateCollection = await bookingTime.create({ date: element.date, timeFrom: "12:00:00" || element.timeFrom, timeTo: element.timeTo }) “12:0

如何使用sequelize存储时间HH:MM:SS? 我尝试将时间作为字符串,也作为日期对象,但总是出错。 这是我的职责:

const dateCollection = await bookingTime.create({
            date: element.date,
            timeFrom: "12:00:00" || element.timeFrom,
            timeTo: element.timeTo
        })
“12:00:00”仅用于测试目的

这是我的续集模型:

timeFrom: {
        type: DataTypes.TIME,
        allowNull: false,
    },
    timeTo: {
        type: DataTypes.TIME,
        allowNull: false,
    },
我的错误:

"original": {
    "code": "ER_TRUNCATED_WRONG_VALUE",
    "errno": 1292,
    "sqlState": "22007",
    "sqlMessage": "Incorrect date value: 'Invalid date' for column 'date' at row 1",
    "sql": "INSERT INTO `bookingTime` (`id`,`date`,`timeFrom`,`timeTo`) VALUES (DEFAULT,?,?,?);",
    "parameters": [
        "Invalid date",
        "12:00:00",
        "13:00:00"
    ]
},
DDL:


提前感谢您的回答

我通过向模型中添加集合方法解决了这个问题。我不知道为什么它现在能用,但它能用

date: {
        type: DataTypes.DATEONLY(),
        allowNull: false,
        set (valueToBeSet) { 
            this.setDataValue('date', valueToBeSet)
        }
    },
    timeFrom: {
        type: DataTypes.TIME,
        allowNull: false,
        set (valueToBeSet) { 
            this.setDataValue('timeFrom', valueToBeSet)
        }
    },
    timeTo: {
        type: DataTypes.TIME,
        allowNull: false,
        set (valueToBeSet) { 
            this.setDataValue('timeTo', valueToBeSet)
        }
    },

请提供您得到的错误。我现在已经提供了。谢谢!此外,您的“预订时间”表结构将非常感谢。看起来像是您创建了日期类型列而不是时间列的表。在这里查看MySQL日期和时间类型:谢谢,我希望这会有所帮助
date: {
        type: DataTypes.DATEONLY(),
        allowNull: false,
        set (valueToBeSet) { 
            this.setDataValue('date', valueToBeSet)
        }
    },
    timeFrom: {
        type: DataTypes.TIME,
        allowNull: false,
        set (valueToBeSet) { 
            this.setDataValue('timeFrom', valueToBeSet)
        }
    },
    timeTo: {
        type: DataTypes.TIME,
        allowNull: false,
        set (valueToBeSet) { 
            this.setDataValue('timeTo', valueToBeSet)
        }
    },