gpt4 book ai didi

mysql - 在列为 varchar 的一个值中存储大量文本(数据库)

转载 作者:行者123 更新时间:2023-11-29 08:54:33 25 4
gpt4 key购买 nike

我在前端应用程序中有一个非常简单的文本框(例如 php,尽管语言并不重要),并且正在插入到下面定义的数据库表中的描述列中:

表(ID[主键],描述[varchar(255)])

尽管这种情况不会经常发生,但有时需要为一个元组插入超过 255 个字符。我可以增加 varchar 的长度,但元组大小有限制,因此为了安全起见,将其保持在建议的最大值 255。

我能弄清楚如何做到这一点的唯一方法是有 2 个表并将文本分成 255 个字符的片段。表定义为:

表1(ID[主键]............)

Table2(ID,table1ID[表1的外键]描述[varchar(255)])

是否有更好的方法来实现这一目标?

编辑:Mysql版本5.5.11不知道有文本数据类型。可能是新的。听起来像是一种应用程序对象,但它是否足够灵活,平均可以存储 150 个字符,并且 10% 的情况下可以存储接近 5000 个字符?

最佳答案

如果使用 MySQL 5.0.3 或更高版本,您只需增加 VARCHAR 的大小即可。根据manual :

Values in VARCHAR columns are variable-length strings. The length can be specified as a value from 0 to 255 before MySQL 5.0.3, and 0 to 65,535 in 5.0.3 and later versions. The effective maximum length of a VARCHAR in MySQL 5.0.3 and later is subject to the maximum row size (65,535 bytes, which is shared among all columns) and the character set used. See Section E.7.4, “Table Column-Count and Row-Size Limits”.

要做到这一点,你会这样做:

ALTER TABLE tablename MODIFY description VARCHAR(...) [NOT] NULL;

或者您可以使用 TEXT类型:

ALTER TABLE tablename MODIFY description TEXT [NOT] NULL;

关于mysql - 在列为 varchar 的一个值中存储大量文本(数据库),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10328023/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com