我有一个发送批量电子邮件的脚本,我想知道哪个是在我的数据库中存储这些BCC电子邮件的最佳数据类型。
每次发送电子邮件时,我都会将此电子邮件存储在我的数据库中以备将来使用。目前我在每封电子邮件中使用的方法是1行,但由于我现在拥有批量电子邮件系统,我只需要存储1条包含许多BCC电子邮件的记录
只使用VARCHAR字段可以吗?
PD:此字段通常会存储大约50封电子邮件。
提前致谢
编辑:
我目前保存了电子邮件内容,所以我只想知道这个字段的数据类型,因为我不确定VARCHAR 255是否足够最佳。
答案 0 :(得分:0)
VARCHAR(255)
任何企业Web应用程序中的标准
答案 1 :(得分:0)
我不会使用这种方法。
首先,varchar的最大长度为255,因此如果您计划存储50个邮件地址,则它可能只有5个字符长,这是不够的。
您可以使用TEXT,但无论如何,在同一个字段中存储多个地址不是一个好方法。你应该为每个地址使用一行,并使用sendId或类似的东西让它们相关。
如果您存储邮件的其他信息(如内容等),则可以使用仅包含电子邮件的第二个表,以及主表中包含所有其他信息的行的ID。
通过这种方式,您可以更好地处理所有事情,您可以计算收件人数量,过滤,订购,搜索,避免重复,检索不同的电子邮件到新闻发送,以及更方便的方式管理记录
答案 2 :(得分:0)
根据我们的编辑,您只想保存邮件内容。 VARCHAR 255限制为255个字符,因此如果邮件超过此数量(我假设很多邮件将超过此数量),则位置255之后的字符将丢失。
您最好使用TEXT,其限制为65.535个字符(请参阅http://www.sqlinfo.net/mysql/mysql_data_types.php),因此不会删除任何文本。
如果你可以预见你的邮件也会超过65.535个字符的限制(但这对邮件来说很多),你可能会看看MEDIUMTEXT(16.777.215个字符)甚至LONGTEXT(4.294.967.295个字符)。
答案 3 :(得分:0)
根据您的要求,您可以将数据类型指定为varchar(32765)
。根据{{3}},您的专栏should not be NULL
。
要存储电子邮件内容,请选择mediumtext
数据类型。
答案 4 :(得分:0)
考虑Unicode supported电子邮件。