我应该用什么数据类型在mysql数据库中存储电子邮件?

时间:2013-03-26 07:50:44

标签: php mysql

我有一个小网站,我想将我的联系人的电子邮件存储在MySQL数据库中。 我正在使用PHP和MySQL。每次我尝试,它都会给我以下错误。但是,当我删除@.(点)时,它可以正常工作。我真的需要一个关于这个的帮助,请告诉我我在做什么错误,如果给出代码将会非常有用。

我之前只使用过VARCHAR。它会一直显示以下错误:

  

您的SQL语法有错误;检查手册   对应于您的MySQL服务器版本,以便使用正确的语法   '@ gmail.com附近(id INT NOT NULL AUTO_INCREMENT,PRIMARY KEY(id),   名称VARCHAR(第1行3'

4 个答案:

答案 0 :(得分:2)

使用varchar并将电子邮件包装在引号中,以便可以将其视为字符串,如下所示:

' Email@gmail.com'

那是兄弟。

答案 1 :(得分:1)

您可以使用vachar长度为1-255的数据类型。

如果您的值的长度超过255,那么有关更多信息,请使用text数据类型

答案 2 :(得分:0)

除了@的错误,你仍然有一个不起作用的查询: gmail.com(id INT .... 不应该那样 gmail.com',(id INT ....?

您的数据库无法处理@的事实可能是由数据库的字符集引起的。它是UTF-8 Unicode(utf8)吗? 您想要存储邮件的记录类型是什么?

答案 3 :(得分:0)

varchar(50)足以存储电子邮件..

然后在您的查询中,所有要插入的值都必须由''""

包裹

e.g

$sql='INSERT INTO TABLE1 VALUES("Value1","EMAIL@GMAIL.com","VALUES3")'