1

我不知道出了什么问题,为什么我的声明不会插入。我有以下数据:

username varchar length (25)
password varchar length (25)
fname varchar length (25)
email text
contactnum big int (30)

我不知道为什么我的电子邮件没有与我的联系人号码一起插入,这是屏幕截图: 在此处输入图像描述

根据我的理解,长度是可以输入的数据中的字符数对吗?

我的查询似乎有什么问题?

4

2 回答 2

1
INSERT INTO members (username, password, fname, email, contactnum)
VALUES (2, 2, 2, 'have@gmail.com', 1)

如果它的字符串不要忘记使用单引号

于 2013-08-23T05:28:51.867 回答
0

您插入到电子邮件字段中的字符串值需要被引用。此外,不应引用表和列的名称。查询应如下所示:

INSERT INTO members (username, password, fname, email, contactnum)
VALUES (2, 2, 2, 'have@gmail.com', 1)

请注意,您要更改的前三个字段被声明为 varchar,因此您也应该在其中插入字符串。尝试将整数插入 varchar 字段时没有出错的原因是,在某些情况下,可以自动转换错误的数据类型。我认为最好不要依赖隐式类型转换,以避免错误和意外结果,所以查询真的应该这样写:

INSERT INTO members (username, password, fname, email, contactnum)
VALUES ('2', '2', '2', 'have@gmail.com', 1)

不过,这是一个见仁见智的问题。他们都工作。

于 2013-08-23T05:26:26.813 回答