0

我有以下查询用于将值插入到我的客户表中:

INSERT INTO customer(Booking_id,First_name,Last_name,Phone,Address,Town,Postcode,email) 
VAlUES
(1,'Elroy','Craddock',01497 3139773','36 Yaffingale Gate','Tadley','RG78 2AB','e.craddock@yautia.co.uk')

运行后它写道

Error starting at line 1,551 in command:
INSERT INTO customer (Booking_id, First_name, Last_name, Phone,  Address, Town, Post code, email) VALUES(   1551    ,'  Leonard ',' Babbs   ',  01959 8159688   ,'  46 Zoophagy Green   ',' Choppington ',' NE41 5DB    ',' l.babbs@sommelier.co.uk ')
Error at Command Line:1,551 Column:86
Error report:
SQL Error: ORA-00917: missing comma
00917. 00000 -  "missing comma"
*Cause:    
*Action:

我已经尝试修复这个语法错误将近一天了!任何帮助/建议表示赞赏!谢谢

4

3 回答 3

4

这是您的查询:

INSERT INTO customer (Booking_id, First_name, Last_name, Phone,  Address, Town, Post code, email) VALUES(   1551    ,'  Leonard ',' Babbs   ',  01959 8159688   ,'  46 Zoophagy Green   ',' Choppington ',' NE41 5DB    ',' l.babbs@sommelier.co.uk ')

你的问题在这里:01959 8159688。这是一个无效的数字文字。

根据Phone列类型,它必须是:('01959 8159688'如果它是文本列),或者01959.8159688(如果它是数字列)。

于 2013-11-06T13:50:47.110 回答
2

问题出在01959 8159688. 假设这是一个电话号码,并且您想保留空格以便将区号与号码的其余部分分开,您应该用单引号将其括起来:'01959 8159688'- 否则,它将被解释为两个不相关的数字文字。

于 2013-11-06T13:51:25.683 回答
0

我的建议是像这样格式化您的查询:

insert into yourtable (
field1
, field2
, etc
)
values (
value1
, value2
, etc
)

它使逗号更明显。它还使计数变得更容易,因为您需要相同数量的字段和值。最后,如果您需要查找查询的有问题的部分,它会使评论变得更容易。

于 2013-11-06T13:52:54.770 回答