gpt4 book ai didi

mysql - 为什么无法将 .csv 中的表中的 null 和 char 数据值导入到 db2 中?

转载 作者:行者123 更新时间:2023-11-29 21:54:32 25 4
gpt4 key购买 nike

我的教授指示我们进入 ff。代码,以便我们可以在类里面进行她计划的实验室练习。

-- Make sure database HR exist in your computer.
connect to HR;

create table region
(regionid int not null,
regionname varchar(25),
constraint region_pk primary key(regionid));
describe table region;

-- Importing data from excel file region.csv into the table region
import from c:\exer\region.csv of del insert into region;
select * from region;

create table country
(countryid varchar(2) not null,
countryname varchar(40),
regionid int,
constraint country_pk primary key(countryid),
constraint country_fk foreign key(regionid) references region(regionid));
describe table country;
-- Importing data from excel file country.csv into the table country
import from c:\exer\country.csv of del insert into country;
select * from country;

create table location
(locid int not null,
street varchar(25),
zip varchar(12),
city varchar(30),
state varchar(12),
countryid varchar(2),
constraint location_pk primary key(locid),
constraint location_fk foreign key(countryid) references country(countryid));
describe table location;
-- Importing data from excel file location.csv into the table location
import from c:\exer\location.csv of del insert into location;
select * from location;

create table jobs
(jobid varchar(10) not null,
jobtitle varchar(35),
min_sal dec(10, 2),
max_sal dec(10, 2),
constraint jobs_pk primary key(jobid));
describe table jobs;
INSERT INTO jobs VALUES( 'AD_PRES', 'President', 20000, 40000);
INSERT INTO jobs VALUES( 'AD_VP', 'Administration Vice President', 15000, 30000);
INSERT INTO jobs VALUES( 'AD_ASST', 'Administration Assistant', 3000, 6000);
INSERT INTO jobs VALUES( 'FI_MGR', 'Finance Manager', 8200, 16000);
INSERT INTO jobs VALUES( 'FI_ACCOUNT', 'Accountant', 4200, 9000);
INSERT INTO jobs VALUES( 'AC_MGR', 'Accounting Manager', 8200, 16000);
INSERT INTO jobs VALUES( 'AC_ACCOUNT', 'Public Accountant', 4200, 9000);
INSERT INTO jobs VALUES( 'SA_MAN', 'Sales Manager', 10000, 20000);
INSERT INTO jobs VALUES( 'SA_REP', 'Sales Representative', 6000, 12000);
INSERT INTO jobs VALUES( 'PU_MAN', 'Purchasing Manager', 8000, 15000);
INSERT INTO jobs VALUES( 'PU_CLERK', 'Purchasing Clerk', 2500, 5500);
INSERT INTO jobs VALUES( 'ST_CLERK', 'Stock Clerk', 2000, 5000);
INSERT INTO jobs VALUES( 'SH_CLERK', 'Shipping Clerk', 2500, 5500);
INSERT INTO jobs VALUES( 'IT_PROG', 'Programmer', 4000, 10000);
INSERT INTO jobs VALUES( 'MK_MAN', 'Marketing Manager', 9000, 15000);
INSERT INTO jobs VALUES( 'MK_REP', 'Marketing Representative', 4000, 9000);
INSERT INTO jobs VALUES( 'HR_REP', 'Human Resources Representative', 4000, 9000);
INSERT INTO jobs VALUES( 'PR_REP', 'Public Relations Representative', 4500, 10500);
INSERT INTO jobs VALUES( 'ST_MAN', 'Stock Manager', 5500, 8500);
select * from jobs;

create table employee
(empid int not null,
fname varchar(20),
lname varchar(20),
email varchar(25),
phone varchar(20),
hdate date,
jobid varchar(10),
salary dec(10,2),
comm dec(10, 2),
mgrid int,
deptid int,
constraint employee_pk primary key(empid),
constraint employee_fk foreign key(jobid) references jobs(jobid));
describe table employee;
-- Importing data from excel file employee.csv into the table employee
import from c:\exer\employee.csv of del insert into employee;
select * from employee;

create table department
(deptid int not null,
deptname varchar(30),
mgrid int,
locid int,
constraint department_pk primary key(deptid),
constraint department_fk1 foreign key(mgrid) references employee(empid),
constraint department_fk2 foreign key(locid) references location(locid));
describe table department;
-- Importing data from excel file department.csv into the table department
import from c:\exer\department.csv of del insert into department;
select * from department;


create table job_history
(empid int not null,
start_date date not null,
end_date date,
jobid varchar(10),
deptid int,
constraint job_history_pk primary key(empid, start_date),
constraint job_history_fk1 foreign key(jobid) references jobs(jobid),
constraint job_history_fk2 foreign key(deptid) references department(deptid));
describe table job_history;
-- Importing data from excel file job_history.csv into the table job_history
import from c:\exer\job_history.csv of del insert into job_history;
select * from job_history;
<小时/>

除了我应该导入department.csv和job_history.csv以将记录包含在表中的部分之外,我能够完成所有操作。 ff。当我这样做时出现了错误语句。

db2 => import from C:\exer\department.csv of del insert into department
SQL3109N The utility is beginning to load data from file
"C:\exer\department.csv".

SQL3148W A row from the input file was not inserted into the table. SQLCODE
"-530" was returned.

SQL0530N The insert or update value of the FOREIGN KEY "VALUED
CUSTOMER.DEPARTMENT.DEPARTMENT_FK1" is not equal to any value of the parent
key of the parent table. SQLSTATE=23503

SQL3185W The previous error occurred while processing data from row "12" of
the input file.

SQL3148W A row from the input file was not inserted into the table. SQLCODE
"-530" was returned.

SQL0530N The insert or update value of the FOREIGN KEY "VALUED
CUSTOMER.DEPARTMENT.DEPARTMENT_FK1" is not equal to any value of the parent
key of the parent table. SQLSTATE=23503

SQL3185W The previous error occurred while processing data from row "13" of
the input file.

SQL3148W A row from the input file was not inserted into the table. SQLCODE
"-530" was returned.

SQL0530N The insert or update value of the FOREIGN KEY "VALUED
CUSTOMER.DEPARTMENT.DEPARTMENT_FK1" is not equal to any value of the parent
key of the parent table. SQLSTATE=23503

SQL3185W The previous error occurred while processing data from row "14" of
the input file.

SQL3148W A row from the input file was not inserted into the table. SQLCODE
"-530" was returned.

SQL0530N The insert or update value of the FOREIGN KEY "VALUED
CUSTOMER.DEPARTMENT.DEPARTMENT_FK1" is not equal to any value of the parent
key of the parent table. SQLSTATE=23503

SQL3185W The previous error occurred while processing data from row "15" of
the input file.

SQL3148W A row from the input file was not inserted into the table. SQLCODE
"-530" was returned.

SQL0530N The insert or update value of the FOREIGN KEY "VALUED
CUSTOMER.DEPARTMENT.DEPARTMENT_FK1" is not equal to any value of the parent
key of the parent table. SQLSTATE=23503

SQL3185W The previous error occurred while processing data from row "16" of
the input file.

SQL3148W A row from the input file was not inserted into the table. SQLCODE
"-530" was returned.

SQL0530N The insert or update value of the FOREIGN KEY "VALUED
CUSTOMER.DEPARTMENT.DEPARTMENT_FK1" is not equal to any value of the parent
key of the parent table. SQLSTATE=23503

SQL3185W The previous error occurred while processing data from row "17" of
the input file.

SQL3148W A row from the input file was not inserted into the table. SQLCODE
"-530" was returned.

SQL0530N The insert or update value of the FOREIGN KEY "VALUED
CUSTOMER.DEPARTMENT.DEPARTMENT_FK1" is not equal to any value of the parent
key of the parent table. SQLSTATE=23503

SQL3185W The previous error occurred while processing data from row "18" of
the input file.

SQL3148W A row from the input file was not inserted into the table. SQLCODE
"-530" was returned.

SQL0530N The insert or update value of the FOREIGN KEY "VALUED
CUSTOMER.DEPARTMENT.DEPARTMENT_FK1" is not equal to any value of the parent
key of the parent table. SQLSTATE=23503

SQL3185W The previous error occurred while processing data from row "19" of
the input file.

SQL3148W A row from the input file was not inserted into the table. SQLCODE
"-530" was returned.

SQL0530N The insert or update value of the FOREIGN KEY "VALUED
CUSTOMER.DEPARTMENT.DEPARTMENT_FK1" is not equal to any value of the parent
key of the parent table. SQLSTATE=23503

SQL3185W The previous error occurred while processing data from row "20" of
the input file.

SQL3148W A row from the input file was not inserted into the table. SQLCODE
"-530" was returned.

SQL0530N The insert or update value of the FOREIGN KEY "VALUED
CUSTOMER.DEPARTMENT.DEPARTMENT_FK1" is not equal to any value of the parent
key of the parent table. SQLSTATE=23503

SQL3185W The previous error occurred while processing data from row "21" of
the input file.

SQL3148W A row from the input file was not inserted into the table. SQLCODE
"-530" was returned.

SQL0530N The insert or update value of the FOREIGN KEY "VALUED
CUSTOMER.DEPARTMENT.DEPARTMENT_FK1" is not equal to any value of the parent
key of the parent table. SQLSTATE=23503

SQL3185W The previous error occurred while processing data from row "22" of
the input file.

SQL3148W A row from the input file was not inserted into the table. SQLCODE
"-530" was returned.

SQL0530N The insert or update value of the FOREIGN KEY "VALUED
CUSTOMER.DEPARTMENT.DEPARTMENT_FK1" is not equal to any value of the parent
key of the parent table. SQLSTATE=23503

SQL3185W The previous error occurred while processing data from row "23" of
the input file.

SQL3148W A row from the input file was not inserted into the table. SQLCODE
"-530" was returned.

SQL0530N The insert or update value of the FOREIGN KEY "VALUED
CUSTOMER.DEPARTMENT.DEPARTMENT_FK1" is not equal to any value of the parent
key of the parent table. SQLSTATE=23503

SQL3185W The previous error occurred while processing data from row "24" of
the input file.

SQL3148W A row from the input file was not inserted into the table. SQLCODE
"-530" was returned.

SQL0530N The insert or update value of the FOREIGN KEY "VALUED
CUSTOMER.DEPARTMENT.DEPARTMENT_FK1" is not equal to any value of the parent
key of the parent table. SQLSTATE=23503

SQL3185W The previous error occurred while processing data from row "25" of
the input file.

SQL3148W A row from the input file was not inserted into the table. SQLCODE
"-530" was returned.

SQL0530N The insert or update value of the FOREIGN KEY "VALUED
CUSTOMER.DEPARTMENT.DEPARTMENT_FK1" is not equal to any value of the parent
key of the parent table. SQLSTATE=23503

SQL3185W The previous error occurred while processing data from row "26" of
the input file.

SQL3148W A row from the input file was not inserted into the table. SQLCODE
"-530" was returned.

SQL0530N The insert or update value of the FOREIGN KEY "VALUED
CUSTOMER.DEPARTMENT.DEPARTMENT_FK1" is not equal to any value of the parent
key of the parent table. SQLSTATE=23503

SQL3185W The previous error occurred while processing data from row "27" of
the input file.

SQL3110N The utility has completed processing. "27" rows were read from the
input file.

SQL3221W ...Begin COMMIT WORK. Input Record Count = "27".

SQL3222W ...COMMIT of any database changes was successful.

SQL3149N "27" rows were processed from the input file. "11" rows were
successfully inserted into the table. "16" rows were rejected.


Number of rows read = 27
Number of rows skipped = 0
Number of rows inserted = 11
Number of rows updated = 0
Number of rows rejected = 16
Number of rows committed = 27
<小时/>

与我导入 job_history.csv 时发生的情况相同,唯一的区别是 Excel 文件中包含的行数。

<小时/>

这是department.csv和job_history.csv的内容(我刚刚以Excel形式复制并粘贴了内容,但这应该是表格形式。

部门.csv

10  Administration  200 1700
20 Marketing 201 1800
30 Purchasing 114 1700
40 Human Resources 203 2400
50 Shipping 121 1500
60 IT 103 1400
70 Public Relations 204 2700
80 Sales 145 2500
90 Executive 100 1700
100 Finance 108 1700
110 Accounting 205 1700
120 Treasury 0 1700
130 Corporate Tax 0 1700
140 Control And Credit 0 1700
150 Shareholder Services 0 1700
160 Benefits 0 1700
170 Manufacturing 0 1700
180 Construction 0 1700
190 Contracting 0 1700
200 Operations 0 1700
210 IT Support 0 1700
220 NOC 0 1700
230 IT Helpdesk 0 1700
240 Government Sales 0 1700
250 Retail Sales 0 1700
260 Recruiting 0 1700
270 Payroll 0 1700

job_history.csv

102 1/13/1993   7/24/1998   IT_PROG 60
101 9/21/1989 10/27/1993 AC_ACCOUNT 110
101 10/28/1993 3/15/1997 AC_MGR 110
201 2/17/1996 12/19/1999 MK_REP 20
114 3/24/1998 12/31/1999 ST_CLERK 50
122 1/1/1999 12/31/1999 ST_CLERK 50
200 9/17/1987 6/17/1993 AD_ASST 90
176 3/24/1998 12/31/1998 SA_REP 80
176 1/1/1999 12/31/1999 SA_MAN 80
200 7/1/1994 12/31/1998 AC_ACCOUNT 90

我注意到值为 0 和 varchar 的行被拒绝...这个问题应该采取什么补救措施?

最佳答案

也许解决此类情况的最佳方法是:

  1. 在 DB2 中,创建一个表,其中的列允许为空。
  2. 在 DB2 中,将该表的内容导出到 CSV(在 DB2 中称为 DEL)。
  3. 在文本编辑器中检查生成的 CSV,了解空值的导出情况。
  4. 相应地调整您的输入 CSV。

希望它能有所帮助(不仅适用于空值,还适用于其他奇怪的情况;-)。

关于mysql - 为什么无法将 .csv 中的表中的 null 和 char 数据值导入到 db2 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33298495/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com