为什么我在 sqlite3 中不断收到数据类型不匹配错误

问题描述 投票:0回答:0

在 sqlite3 中运行以下行时,我不断收到数据类型不匹配错误。我将包括从创建数据库到出现错误的所有内容。

CREATE TABLE PilotAirlines (
...> PilotID INTEGER PRIMARY KEY,
...> FName TEXT,
...> LName TEXT,
...> JobTitle TEXT,
...> Salary REAL,
...> AirlineID INTEGER,
...> NPlanes TEXT,
...> NRoutes TEXT,
...> NPilots TEXT,
...> FOREIGN KEY (AirlineID) REFERENCES Airlines (AirlineID)
...> );
CREATE TABLE Airlines (
...> AirlineID INTEGER PRIMARY KEY,
...> NPlanes TEXT,
...> NRoutes TEXT,
...> NPilots TEXT
...> );
INSERT INTO Airlines (AirlineID, NPLanes, NRoutes, NPilots)
...> VALUES
...> (1, 130, 75, 50),
...> (2, 200, 90, 85),
...> (3, 250, 125, 105);
INSERT INTO PilotAirlines (PilotID, FName, LName, JobTitle, Salary, AirlineID, NPLanes, NRoutes, NPilots)
 VALUES
 ...> ('P00100', 'John', 'Hancock', 'Pilot', 110000, 1, NULL, NULL, NULL),
 ...> ('P00101', 'Sally', 'Smith', 'CoPilot', 95000, 2, NULL, NULL, NULL),
 ...> ('P00102', 'Nancy', 'Smith', 'Pilot', 115000, 3, NULL, NULL, NULL),
 ...> ('P00103', 'William', 'Hart', 'CoPilot', 85000, 1, NULL, NULL, NULL),
 ...> ('P00104', 'Jane', 'Doe', 'Pilot', 95000, 3, NULL, NULL, NULL);
Runtime error: datatype mismatch (20)

我想也许 AirlineID 需要更改,因为我在 ID 中有一个“P”,它应该是一个 INT,所以我在下面更改了它。但它仍然导致错误。

INSERT INTO PilotAirlines (PilotID, FName, LName, JobTitle, Salary, AirlineID, NPLanes, NRoutes, NPilots)
...> VALUES
...> ('00100', 'John', 'Hancock', 'Pilot', 110000, 1, NULL, NULL, NULL),
...> ('P00101', 'Sally', 'Smith', 'CoPilot', 95000, 2, NULL, NULL, NULL),
...> ('00101', 'Sally', 'Smith', 'CoPilot', 95000, 2, NULL, NULL, NULL),
...> ('00102', 'Nancy', 'Smith', 'Pilot', 115000, 3, NULL, NULL, NULL),
...> ('00103', 'William', 'Hart', 'CoPilot', 85000, 1, NULL, NULL, NULL),
...> ('00104', 'Jane', 'Doe', 'Pilot', 95000, 3, NULL, NULL, NULL);
Runtime error: datatype mismatch (20)

请帮帮我!!这可能是一个显而易见的答案,但我今晚对此有疑问,这是我项目文件的一部分,所以拜托了!!!!

提前谢谢大家!!

我想也许 AirlineID 需要更改,因为我在 ID 中有一个“P”,它应该是一个 INT,所以我在下面更改了它。但它仍然导致错误。

 INSERT INTO PilotAirlines (PilotID, FName, LName, JobTitle, Salary, AirlineID, NPLanes,     NRoutes, NPilots)
...> VALUES
...> ('00100', 'John', 'Hancock', 'Pilot', 110000, 1, NULL, NULL, NULL),
...> ('P00101', 'Sally', 'Smith', 'CoPilot', 95000, 2, NULL, NULL, NULL),
...> ('00101', 'Sally', 'Smith', 'CoPilot', 95000, 2, NULL, NULL, NULL),
...> ('00102', 'Nancy', 'Smith', 'Pilot', 115000, 3, NULL, NULL, NULL),
...> ('00103', 'William', 'Hart', 'CoPilot', 85000, 1, NULL, NULL, NULL),
...> ('00104', 'Jane', 'Doe', 'Pilot', 95000, 3, NULL, NULL, NULL);
Runtime error: datatype mismatch (20) 
mysql sqlite runtime-error sqldatatypes
© www.soinside.com 2019 - 2024. All rights reserved.