在尝试在sql中插入多个值时如何修复语句结尾?

svdrlsy4  于 2021-08-13  发布在  Java
关注(0)|答案(2)|浏览(297)

我刚刚开始了一个数据库课程,它将使用access2016来检查sql。我得到一个语句结束错误,我不知道如何修复它。
我的表代码是`

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查询是

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时,它表示我在第一组值的末尾缺少一个分号,但是如果我添加了这个分号,那么它表示我在语句的末尾有个字符。如果有人能帮我解决问题,或者给我指出解决错误的正确方向,我将不胜感激。谢谢您

gg58donl

gg58donl1#

您的insert查询包括4个 INSERT ... VALUES 声明。因此,当您尝试运行该查询时,您要求access执行一批语句。但是,access不会执行批处理语句。你必须分开执行。
当你一次执行一个时,你会发现另外两个问题: OwnerPhone Int Null 不接受文本值,如“555-537-8765”;使其成为文本而不是数字类型字段。
第二条insert语句不包括 INTO 关键字。
我使用以下语句创建表:

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 是关键的改变。我更改了主键分配,只是为了向您展示一种不同的方法。)
然后将每个insert语句分别装入一个变量, strInsert ,并按如下方式执行:

CurrentDb.Execute strInsert, dbFailOnError

该方法成功地将4行添加到 Pet_Owner table。

iqxoj9l9

iqxoj9l92#

你需要以 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');

相关问题