我的SQL Plus插入语句中的字符无效

Jos*_*ida 1 sql oracle sqlplus

我为我的SQL类创建了一个表,但是当我尝试插入数据时,它给了我一个关于Borough char输入的错误:

CREATE TABLE Child (
childID VARCHAR (5) PRIMARY KEY,
firstName CHAR (10),
lastName CHAR (15),
dateOfBirth DATE,
street VARCHAR (20),
city CHAR (10),
ZIP VARCHAR (5),
phone VARCHAR (15),
borough CHAR (15)
);

INSERT INTO Child
VALUES (‘C001’, John, Wick, 2017-02-16 , ‘123 Jay Street’, New York, ‘11201’, ‘212-777- 
6677’, Brooklyn);
           *
"Error at Line 2, invalid Character ORA-00911"
Run Code Online (Sandbox Code Playgroud)

特别是它在布鲁克林的字母k上告诉我"第2行错误,无效字符".我尝试了不同的报价组合,但它仍然给了我同样的错误,这次是在电话号码的3号

INSERT INTO Child
VALUES (‘C002’, ‘Wayne’, ‘Brady’, ‘2017-02- 
16’, ’24 Atlantic Ave’, ‘New York’, ‘11201’, 
‘212-888-2345’, ‘Brooklyn’);
          *
"Error at Line 2, invalid Character ORA-00911
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激 !

The*_*ler 6

你使用的那些单引号很奇怪.使用标准单引号(')代替,如:

INSERT INTO Child
(childID, firstName, lastName, dateOfBirth, street, city, ZIP, phone, borough)
VALUES ('C001', 'John', 'Wick', to_date('2017-02-16','YYYY-MM-DD'), '123 Jay Street', 'New York', '11201', '212-777-6677', 'Brooklyn');
Run Code Online (Sandbox Code Playgroud)

在Oracle中,您还应该:

  • 避免使用该VARCHAR类型.请VARCHAR2改用.
  • 命名中的所有列INSERT.