0

Customer テーブルに値を挿入するための次のクエリがあります。

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:

私はこの構文エラーをほぼ 1 日修正しようとしてきました! どんな助け/提案も大歓迎です! ありがとうございました

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'- そうしないと、2 つの無関係な数値リテラルとして解釈されます。

于 2013-11-06T13:51:25.683 に答える
0

私の提案は、クエリを次のようにフォーマットすることです。

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

コンマがより見やすくなります。同じ数のフィールドと値が必要なため、カウントも簡単になります。最後に、クエリの問題のある部分を見つける必要がある場合に、コメントを簡単に付けることができます。

于 2013-11-06T13:52:54.770 に答える