我为MS Access编写了SQL代码。
除了12345之外的所有值都是文本(VARCHAR)。
INSERT INTO TABLE
VALUES (12345, 'Mary', 'Jones', '123 George St', 'Canberra', 'ACT', '1000', '0298754689')
当我执行它时,它要求所有文本字段的参数。
我该如何克服这个问题?
谢谢
答案 0 :(得分:3)
错误信息究竟是什么?
INSERT INTO TABLE
VALUES (12345, 'Mary', 'Jones', '123 George St', 'Canberra', 'ACT', '1000', '0298754689')
如果您提供的值的数量等于表中的字段数,则只能成功执行,您可能不会指示字段名称。
但是如果您的值的数量不等于表中的字段数,那么您必须指定要将值放入哪个特定的字段名。
INSERT INTO table (field1,field2,field3,field4,field5,field6,field7,field8)
VALUES (12345, 'Mary', 'Jones', '123 George St', 'Canberra', 'ACT', '1000', '0298754689')
如果你有9个字段并且你不想包含第9个字段然后将其设置为NULL,或者如果你的第9个字段可能是一个唯一的数字,那么将其设置为自动增量,你不必放置字段名称。
答案 1 :(得分:0)
您的查询中缺少字段名称。
Insert into <TableName> (Fieldsname)
Values (values)
http://msdn.microsoft.com/en-us/library/bb208861(v=office.12).aspx
答案 2 :(得分:0)
您需要在查询中指定列的名称:
INSERT INTO TABLE (col1, col2, clo3, .., col8)VALUES
(12345, 'Mary', 'Jones', '123 George St', 'Canberra', 'ACT', '1000', '0298754689')
答案 3 :(得分:0)
插入语句中需要进行小的更改,因为您只插入了8个值。并且您的表中有9个值。
假设您没有将值插入表中的最后一列而不是语句应该像这样
INSERT INTO TABLE
VALUES (12345, 'Mary', 'Jones', '123 George St', 'Canberra', 'ACT', '1000', '0298754689',null)
如果是第一列而不是
INSERT INTO TABLE
VALUES (null,12345, 'Mary', 'Jones', '123 George St', 'Canberra', 'ACT', '1000', '0298754689')
只需将null放在您未插入的第n个位置,例如它比
为3列INSERT INTO TABLE
VALUES (12345, 'Mary', null, 'Jones', '123 George St', 'Canberra', 'ACT', '1000', '0298754689')