我不断收到错误报告 - 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"的大小,它将起作用。