簡體   English   中英

如何在 mysql 中添加數組字段

[英]how to add an array field in mysql

我在Sequelize中有一個 model 與我的MySQL數據庫通信。 model 定義如下。

module.exports= (sequelize, DataTypes)=>{


const Form =  sequelize.define(
    "form",
    {   
        id:{
            type:DataTypes.INTEGER(11).UNSIGNED,
            allowNull:false,
            autoIncrement:true,
            primaryKey:true,
            field:"id"
        },
        name:{
            type:DataTypes.STRING(20),
            unique:true,
            field:"title"

        },
        createdAt: {
            type: DataTypes.DATE,
            allowNull: true,
            field: "createdAt"
        },
        updatedAt: {
            type: DataTypes.DATE,
            allowNull: true,
            field: "updatedAt"
        },
        
        description:{
            type:DataTypes.STRING(300),
            allowNull: true,
            field:"description"
        },  
        questionId:{
            type:DataTypes.ARRAY(DataTypes.INTEGER),
            allowNull:true,
            field:"questionId"
        },
        userId_FK:{
            type:DataTypes.INTEGER(11).UNSIGNED,
            allowNull:false,
            field:"userId_FK"
        }
    },
    {
        tableName:"form"
    }    
);

Form.associate = function(models){
    Form.belongsTo(models.user,{
        foreignKey : "userId_FK",
        onDelete : "CASCADE"
    });
};
return Form;};

如您所見,在定義的 model 中有一個ARRAY字段。 如何通過使用創建表方法(例如create table 'form' (....)在我的MySQL數據庫中添加此字段。如果有其他選擇,請告訴我。

MySQL中沒有數組字段,我使用的解決方案是在將數組發送到數據庫之前將其轉換為字符串並將其作為字符串保存在數據庫的字符串字段中。

如果您正在考慮切換到 PostgreSQL 那里,您可以使用 PickleTypes 將數據存儲為類似於數組的東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM