尝试在 SQL 中插入多个值时如何修复语句结尾?
How to fix end of statement when trying to insert multiple values in SQL?
我刚开始使用 Access 2016 完成 SQL 的数据库课程。我收到语句结束错误,我不确定如何修复它。
我的table代码是`
Create Table Pet_Owner (
OwnerID autoincrement Null,
OwnerLastName Char(30) Not Null,
OwnerFirstName Char(30) Not Null,
OwnerPhone Int Null,
OwnerEmail VarChar(100) Not Null Unique,
Constraint Pet_Owner_PK Primary Key(OwnerID)
);
到目前为止,我尝试添加的插入查询是
Insert Into Pet_Owner (OwnerLastName, OwnerFirstName, OwnerPhone, OwnerEmail) Values (
'Downs' , 'Marsha' , '555-537-8765' , 'Marsha.downs@somewhere.com')
Into Pet_Owner (OwnerLastName, OwnerFirstName, OwnerPhone, OwnerEmail) Values (
'James' , 'Richard' , '555-537-7654' , 'Richard.James@somewhere.com')
Insert Into Pet_Owner (OwnerLastName, OwnerFirstName, OwnerPhone, OwnerEmail) Values (
'Frier' , 'Liz' , '555-537-6543' , 'Liz.Frier@somewhere.com')
Insert Into Pet_Owner (OwnerLastName, OwnerFirstName, OwnerEmail) Values (
'Trent', 'Miles', 'Miles.Trent@somewhere.com') ;
当我使用 append 时,它说我在第一组值的末尾缺少一个分号,但如果我添加它,它就会说我在语句末尾有字符。如果有人可以帮助我或指出正确的方向来解决错误,我将不胜感激。谢谢
您需要以 insert into
开始每个语句,并用 ;
分隔它们。
Insert Into Pet_Owner (OwnerLastName, OwnerFirstName, OwnerPhone, OwnerEmail)
Values ('Downs' , 'Marsha' , '555-537-8765' , 'Marsha.downs@somewhere.com');
Insert Into Pet_Owner (OwnerLastName, OwnerFirstName, OwnerPhone, OwnerEmail)
Values ('James' , 'Richard' , '555-537-7654' , 'Richard.James@somewhere.com');
Insert Into Pet_Owner (OwnerLastName, OwnerFirstName, OwnerPhone, OwnerEmail)
Values ('Frier' , 'Liz' , '555-537-6543' , 'Liz.Frier@somewhere.com');
Insert Into Pet_Owner (OwnerLastName, OwnerFirstName, OwnerEmail)
Values ('Trent', 'Miles', 'Miles.Trent@somewhere.com');
您的插入查询包含 4 个 INSERT ... VALUES
语句。因此,当您尝试 运行 该查询时,您是在要求 Access 执行一批语句。但是 Access 不会执行批处理语句。您必须单独执行它们。
而且当你一个一个执行的时候,你会发现另外两个问题:
OwnerPhone Int Null
将不接受文本值,例如“555-537-8765”;将其设为文本而不是数字类型字段。
第二个插入语句不包含INTO
关键字。
我用这条语句创建了 table:
Create Table Pet_Owner (
OwnerID autoincrement Primary Key,
OwnerLastName Char(30) Not Null,
OwnerFirstName Char(30) Not Null,
OwnerPhone VarChar(12) Null,
OwnerEmail VarChar(100) Not Null Unique
);
(OwnerPhone
是关键的变化。我更改了主键分配只是为了向您展示一种不同的方法。)
然后分别处理每个插入语句,将其加载到一个变量中,strInsert
,然后像这样执行:
CurrentDb.Execute strInsert, dbFailOnError
该方法成功地向 Pet_Owner
table 添加了 4 行。
我刚开始使用 Access 2016 完成 SQL 的数据库课程。我收到语句结束错误,我不确定如何修复它。
我的table代码是`
Create Table Pet_Owner (
OwnerID autoincrement Null,
OwnerLastName Char(30) Not Null,
OwnerFirstName Char(30) Not Null,
OwnerPhone Int Null,
OwnerEmail VarChar(100) Not Null Unique,
Constraint Pet_Owner_PK Primary Key(OwnerID)
);
到目前为止,我尝试添加的插入查询是
Insert Into Pet_Owner (OwnerLastName, OwnerFirstName, OwnerPhone, OwnerEmail) Values (
'Downs' , 'Marsha' , '555-537-8765' , 'Marsha.downs@somewhere.com')
Into Pet_Owner (OwnerLastName, OwnerFirstName, OwnerPhone, OwnerEmail) Values (
'James' , 'Richard' , '555-537-7654' , 'Richard.James@somewhere.com')
Insert Into Pet_Owner (OwnerLastName, OwnerFirstName, OwnerPhone, OwnerEmail) Values (
'Frier' , 'Liz' , '555-537-6543' , 'Liz.Frier@somewhere.com')
Insert Into Pet_Owner (OwnerLastName, OwnerFirstName, OwnerEmail) Values (
'Trent', 'Miles', 'Miles.Trent@somewhere.com') ;
当我使用 append 时,它说我在第一组值的末尾缺少一个分号,但如果我添加它,它就会说我在语句末尾有字符。如果有人可以帮助我或指出正确的方向来解决错误,我将不胜感激。谢谢
您需要以 insert into
开始每个语句,并用 ;
分隔它们。
Insert Into Pet_Owner (OwnerLastName, OwnerFirstName, OwnerPhone, OwnerEmail)
Values ('Downs' , 'Marsha' , '555-537-8765' , 'Marsha.downs@somewhere.com');
Insert Into Pet_Owner (OwnerLastName, OwnerFirstName, OwnerPhone, OwnerEmail)
Values ('James' , 'Richard' , '555-537-7654' , 'Richard.James@somewhere.com');
Insert Into Pet_Owner (OwnerLastName, OwnerFirstName, OwnerPhone, OwnerEmail)
Values ('Frier' , 'Liz' , '555-537-6543' , 'Liz.Frier@somewhere.com');
Insert Into Pet_Owner (OwnerLastName, OwnerFirstName, OwnerEmail)
Values ('Trent', 'Miles', 'Miles.Trent@somewhere.com');
您的插入查询包含 4 个 INSERT ... VALUES
语句。因此,当您尝试 运行 该查询时,您是在要求 Access 执行一批语句。但是 Access 不会执行批处理语句。您必须单独执行它们。
而且当你一个一个执行的时候,你会发现另外两个问题:
OwnerPhone Int Null
将不接受文本值,例如“555-537-8765”;将其设为文本而不是数字类型字段。第二个插入语句不包含
INTO
关键字。
我用这条语句创建了 table:
Create Table Pet_Owner (
OwnerID autoincrement Primary Key,
OwnerLastName Char(30) Not Null,
OwnerFirstName Char(30) Not Null,
OwnerPhone VarChar(12) Null,
OwnerEmail VarChar(100) Not Null Unique
);
(OwnerPhone
是关键的变化。我更改了主键分配只是为了向您展示一种不同的方法。)
然后分别处理每个插入语句,将其加载到一个变量中,strInsert
,然后像这样执行:
CurrentDb.Execute strInsert, dbFailOnError
该方法成功地向 Pet_Owner
table 添加了 4 行。