我的 SQL Plus 插入语句中的字符无效
Invalid Character during my SQL Plus Insert Statement
我为我的 SQL class 创建了一个 table,但是当我尝试插入数据时,它在 Borough 字符输入上给我一个错误:
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"
具体来说,它告诉我 "Error on Line 2, invalid Character" 在布鲁克林的字母 k 上。
我尝试了不同的引号组合,但它仍然给了我同样的错误,这次是 phone 数字
中的数字 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
如有任何帮助,我们将不胜感激!
您使用的那些单引号很奇怪。请改用标准单引号 ('
),如:
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');
在 Oracle 中,您还应该:
- 避免使用
VARCHAR
类型。请改用 VARCHAR2
。
- 命名
INSERT
中的所有列。
"Curly" 文本字段周围的引号是由使用像 Microsoft Word 这样的编辑器引起的,它是为人类阅读的文档设计的,而不是 SQL 查询。引号必须是 ASCII '
单引号字符。正如@The Impaler 所回答的那样,在 INSERT
语句中对所有文本值使用单引号。
为避免将来出现此问题,请使用具有良好语法高亮显示功能的专用文本编辑器 .sql
文件,例如 Notepad++ for Windows or Sublime Text for Mac. Or you can just do all of your editing in the SQL client, such as Oracle SQL Developer.
我为我的 SQL class 创建了一个 table,但是当我尝试插入数据时,它在 Borough 字符输入上给我一个错误:
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"
具体来说,它告诉我 "Error on Line 2, invalid Character" 在布鲁克林的字母 k 上。 我尝试了不同的引号组合,但它仍然给了我同样的错误,这次是 phone 数字
中的数字 3INSERT 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
如有任何帮助,我们将不胜感激!
您使用的那些单引号很奇怪。请改用标准单引号 ('
),如:
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');
在 Oracle 中,您还应该:
- 避免使用
VARCHAR
类型。请改用VARCHAR2
。 - 命名
INSERT
中的所有列。
"Curly" 文本字段周围的引号是由使用像 Microsoft Word 这样的编辑器引起的,它是为人类阅读的文档设计的,而不是 SQL 查询。引号必须是 ASCII '
单引号字符。正如@The Impaler 所回答的那样,在 INSERT
语句中对所有文本值使用单引号。
为避免将来出现此问题,请使用具有良好语法高亮显示功能的专用文本编辑器 .sql
文件,例如 Notepad++ for Windows or Sublime Text for Mac. Or you can just do all of your editing in the SQL client, such as Oracle SQL Developer.