我创建了这个名为LOCATION的表 通过这样做:
CREATE TABLE LOCATION(
POSTCODE VARCHAR(10) PRIMARY KEY,
STREET_NAME VARCHAR(20),
CITY VARCHAR(20));
当我尝试在表格中添加一些日期时,它无法正常显示错误
INSERT INTO LOCATION VALUES(PQ95VM,'HAPPY_STREET','FRANCE');
错误说
这里不允许列
答案 0 :(得分:45)
你在第一个值附近缺少引号,它应该是
INSERT INTO LOCATION VALUES('PQ95VM', 'HAPPY_STREET', 'FRANCE');
顺便提一下,出于可读性,可维护性和健壮性的原因,建议您明确在INSERT中指定列名,即
。INSERT INTO LOCATION (POSTCODE, STREET_NAME, CITY) VALUES ('PQ95VM', 'HAPPY_STREET', 'FRANCE');
答案 1 :(得分:4)
有一段时间,在执行插入查询时,我们面临:
此处不允许使用列
错误。因为字符串参数中可能缺少引号。在字符串参数中添加引号并尝试执行。
试试这个:
INSERT INTO LOCATION VALUES('PQ95VM','HAPPY_STREET','FRANCE');
或
INSERT INTO LOCATION (ID, FIRST_NAME, LAST_NAME) VALUES('PQ95VM','HAPPY_STREET','FRANCE');
答案 2 :(得分:3)
INSERT INTO LOCATION VALUES('PQ95VM','HAPPY_STREET','FRANCE');
所以一个(')启动字符串,第二个(')关闭它。
但是如果你想在一个字符串中添加一个引号,例如:
我父亲告诉我:'你必须勇敢,儿子'。
您必须使用三重引号符号,如:
'我的父亲告诉我:''你必须勇敢,儿子'。'
*添加引用方法可能因不同的数据库引擎而异
答案 3 :(得分:1)
您错过的是邮政编码中的const char*
,因为它是" "
。
有两种插入方式。
创建表varchar
并在创建表后添加一行时,可以使用以下方法。
Table created.
INSERT INTO table_name
VALUES (value1,value2,value3,...);
您添加了很多表,或者保存了它并且您正在重新打开它,您还需要提及表的列名,否则它将显示相同的错误。
1 row created.
ERROR at line 2:
ORA-00984: column not allowed here
INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);
答案 4 :(得分:1)
INSERT INTO LOCATION VALUES(PQ95VM,'HAPPY_STREET','FR
ANCE&#39);
不正确,因为您的第一个参数POSTCODE的类型为VARCHAR(10)
。你应该使用 ' '
。
尝试INSERT INTO LOCATION VALUES('PQ95VM','HAPPY_STREET','FRANCE');
答案 5 :(得分:0)
如果我们在输入变量名时出现拼写错误,则会出现此错误。 就像在存储过程中一样,我有变量名x,在我的insert语句中我正在使用
insert into tablename values(y);
这将抛出一个不允许的错误列。
答案 6 :(得分:0)
Scanner sc = new Scanner(System.in);
String name = sc.nextLine();
String surname = sc.nextLine();
Statement statement = connection.createStatement();
String query = "INSERT INTO STUDENT VALUES("+'"name"'+","+'"surname"'+")";
statement.executeQuery();
concat 字符串时不要错过添加““ ----”'的功能。
答案 7 :(得分:0)
尝试使用varchar2代替varchar并使用:
INSERT INTO LOCATION VALUES('PQ95VM','HAPPY_STREET','FRANCE');
答案 8 :(得分:0)
在插入数据时,我们必须使用字符串分隔符(' '
)。而且,您在插入值时错过了它 (' '
),这是您的错误消息的原因。代码修正如下:
INSERT INTO LOCATION VALUES(PQ95VM,'HAPPY_STREET','FRANCE');
答案 9 :(得分:0)
我在使用插入命令时也遇到了同样的错误。当我用单引号替换双引号时,它工作正常
答案 10 :(得分:0)
示例
如果你有这样的事情:
INSERT INTO clients (id, email, country)
VALUES (1, "john@gmail.com", "USA");
将其转换为:
INSERT INTO clients (id, email, country)
VALUES (1, 'john@gmail.com', 'USA');