我刚刚开始了一个数据库课程,它将使用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时,它表示我在第一组值的末尾缺少一个分号,但是如果我添加了这个分号,那么它表示我在语句的末尾有个字符。如果有人能帮我解决问题,或者给我指出解决错误的正确方向,我将不胜感激。谢谢您
2条答案
按热度按时间gg58donl1#
您的insert查询包括4个
INSERT ... VALUES
声明。因此,当您尝试运行该查询时,您要求access执行一批语句。但是,access不会执行批处理语句。你必须分开执行。当你一次执行一个时,你会发现另外两个问题:
OwnerPhone Int Null
不接受文本值,如“555-537-8765”;使其成为文本而不是数字类型字段。第二条insert语句不包括
INTO
关键字。我使用以下语句创建表:
(
OwnerPhone
是关键的改变。我更改了主键分配,只是为了向您展示一种不同的方法。)然后将每个insert语句分别装入一个变量,
strInsert
,并按如下方式执行:该方法成功地将4行添加到
Pet_Owner
table。iqxoj9l92#
你需要以
insert into
,并用;
.