当前位置: 首页 > 知识库问答 >
问题:

STRING,STRING(255)还是VARCHAR(255)?

茅昀
2023-03-14

我使用knex并有一个MySql db表,该表是用以下方式创建的:

exports.up = function (knex, Promise) {
    return knex.schema.table("members", (table) => {
        table.string("member_activation_hash", 255);
        table.dateTime("member_activation_sent_at");
    });
};
exports.up = function(knex) {
    return knex.schema.raw(
        "ALTER TABLE `members` CHANGE `member_activation_hash` `user_activation_hash` STRING DEFAULT NULL",
        "ALTER TABLE `members` CHANGE `member_activation_sent_at` `user_activation_sent_at` datetime DEFAULT NULL"
    );
};
exports.up = function(knex) {
    return knex.schema.raw(
        "ALTER TABLE `members` RENAME COLUMN `member_activation_hash` TO `user_activation_hash`",
        "ALTER TABLE `members` RENAME COLUMN `member_activation_sent_at` TO `user_activation_sent_at`"
    );
};

共有1个答案

宰父冠玉
2023-03-14

只需重命名列:

ALTER TABLE `members` RENAME COLUMN `member_activation_hash` TO `user_activation_hash`

请参阅此处的文档

 类似资料:
  • 问题内容: 是否可以将SQL Server 2008数据库中的列类型从更改为,而不必删除表并重新创建? 每当我尝试使用SQL Server Management Studio进行操作时,SQL Server Management Studio都会向我抛出一个错误-但是让我头疼的是,很高兴知道我是否可以更改类型而不必删除和创建。 谢谢 问题答案: 您应该能够使用TSQL做到这一点。 就像是

  • 问题内容: 有什么理由代替括号表示法吗? 问题答案: 现在,括号表示法可在所有主要浏览器上使用,但IE7及以下版本除外。 出于以下原因,使用方括号曾经是个坏主意: 此表示法在IE7中不起作用。 第一个代码段将在IE7中返回undefined。如果您碰巧对代码中的字符串使用括号表示法,并且想要迁移到,这是一个真正的痛苦:在代码中都使用了括号,并且没有简单的方法来检测是针对字符串还是数组/。宾语。 您

  • 问题内容: 这个问题已经在这里有了答案 : 7年前关闭。 可能的重复: 对所有基于文本的字段使用通用varchar(255)有不利之处吗? 在MYSQL中,您可以为VARCHAR字段类型选择一个长度。可能的值为1-255。 但是,如果使用最大值而不是VARCHAR(20)的VARCHAR(255),它的优点是什么?据我所知,条目的大小仅取决于插入字符串的实际长度。 大小(字节)=长度+1 因此,如

  • 问题内容: 根据定义: VARCHAR:长度范围是1到255个字符。除非指定BINARY关键字,否则以不区分大小写的方式对VARCHAR值进行排序和比较。x + 1个字节 TINYBLOB,TINYTEXT:BLOB或TEXT列,最大长度为255(2 ^ 8-1)个字符x + 1个字节 因此,基于此,我创建了下表: 还是创建varchar或tinytext更好, 为什么 ? 是否相同: VARCH

  • 描述 (Description) 此方法将使用给定替换匹配给定正则表达式的此字符串的第一个子字符串替换。 语法 (Syntax) 以下是此方法的语法 - public String replaceFirst(String regex, String replacement) 参数 (Parameters) 这是参数的细节 - regex - 要与此字符串匹配的正则表达式。 replacement

  • 描述 (Description) 此方法将使用给定替换匹配给定正则表达式的此字符串的每个子字符串替换。 语法 (Syntax) 以下是此方法的语法 - public String replaceAll(String regex, String replacement) 参数 (Parameters) 这是参数的细节 - regex - 要与此字符串匹配的正则表达式。 replacement -