我不知道什么是错的,为什么我的陈述不会插入。我有以下数据:
username varchar length (25)
password varchar length (25)
fname varchar length (25)
email text
contactnum big int (30)
我不知道为什么我的电子邮件不会与我的contactnum一起插入 这是截图:
根据我的理解,长度是数据中可以输入的字符数吗?
我的查询似乎有什么问题?
答案 0 :(得分:1)
INSERT INTO members (username, password, fname, email, contactnum)
VALUES (2, 2, 2, 'have@gmail.com', 1)
如果它的字符串不要忘记使用单引号
答案 1 :(得分: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)
但这是一个意见问题。他们都工作。