无法将值插入表(甲骨文)



我不断收到错误报告 - ORA-01722:当我尝试将值插入表中时,数字无效。

我正在使用甲骨文。最初的问题是表格存储的主键是表员工的外键,反之亦然,因此我无法插入任何值。所以我将表存储中的外键更改为 NULL 并尝试了一下,但仍然不起作用

create table Store(
Store_ID integer primary key,
Warehouse_ID integer not null,
Employee_ID integer,
Owner_name varchar2 (15) not null,
Store_hours varchar (10) not null,
Store_name varchar (20) not null,
Store_Address varchar2 (35) not null,
CONSTRAINT Warehouse_FK_Store
FOREIGN KEY (Warehouse_ID)
REFERENCES Warehouse (Warehouse_ID),
CONSTRAINT Employee_FK_Store
FOREIGN KEY (Employee_ID)
REFERENCES Employee (Employee_ID));
insert into Store
values (101, 1001, NULL , 'Grant Campbell', '7:00am - 10:00pm', 'Papakura', '331-345 Great South Road, Takanini, Auckland, 2110');

您的查询是正确的,但您的Store_Address varchar 大小太短,并且您的查询大小更大,即您需要将Store_Address varchar (35)的大小更改为Store_Address varchar (255)

create table Store(
Store_ID integer primary key,
Warehouse_ID integer not null,
Employee_ID integer,
Owner_name varchar2 (15) not null,
Store_hours varchar (10) not null,
Store_name varchar (20) not null,
Store_Address varchar2 (255) not null,
CONSTRAINT Warehouse_FK_Store
FOREIGN KEY (Warehouse_ID)
REFERENCES Warehouse (Warehouse_ID),
CONSTRAINT Employee_FK_Store
FOREIGN KEY (Employee_ID)
REFERENCES Employee (Employee_ID));
insert into Store
values (101, 1001, NULL , 'Grant Campbell', '7:00am - 10:00pm', 'Papakura', '331-345 Great South Road, Takanini, Auckland, 2110');

字段的长度有问题。 并且您应该包括要插入的列。

我不知道引用键的类型是什么,但它们需要相同。

这有效:

create table Stores (
Store_ID integer primary key,
Warehouse_ID integer not null,
Employee_ID integer,
Owner_name varchar2 (255) not null,
Store_hours varchar2(255) not null,
Store_name varchar2(255) not null,
Store_Address varchar2(255) not null
--  CONSTRAINT Warehouse_FK_Store  FOREIGN KEY (Warehouse_ID) REFERENCES Warehouse (Warehouse_ID),
--  CONSTRAINT Employee_FK_Store FOREIGN KEY (Employee_ID) REFERENCES Employee (Employee_ID)    
);
insert into Stores (Store_ID, Warehouse_ID, Employee_ID, Owner_name, Store_Hours, Store_name, Store_Address)
values (101, 1001, NULL , 'Grant Campbell', '7:00am - 10:00pm', 'Papakura', '331-345 Great South Road, Takanini, Auckland, 2110');

看这里。

下面是具有外键约束的版本。

给定值 '331-345 Great South Road, Takanini, Auckland, 2110331-345 Great South Road, Takanini, Auckland, 2110' 大小为 100。 其中相应的创建列"Store_Address"大小为 35。

如果您增加列"Store_Address"的大小,它将起作用。

最新更新