外键的值为 NULL
The forgein key has the value NULL
我正在尝试设计我的数据库 tables 以从 routes
table 获取 route
取决于骑手的位置和时间必须到达当前时间。当我在所有 table 中插入一些数据然后 routes
中的 stop_id 和 arrivalestimes
table 中的 NULL
时,我遇到了问题?数据库设计有问题吗?
一站多路。一条路线有很多站点。一站多到。
感谢任何帮助。
CREATE TABLE IF NOT EXISTS stops
(stop_id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
name varchar(30) NOT NULL,
lat double(10,6) NOT NULL,
longi double(10,6)NOT NULL)
INSERT INTO stops(name, lat, longi) values
('ABC', '63.838039', '18.700440' ),
('DEF', '63.840642', '18.701246' ),
('HIG', '63.868863', '18.665438' )
CREATE TABLE IF NOT EXISTS arrivaltimes(arrivaltimes_id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
weekday VARCHAR(20) NOT NULL,
arrivaltime time NOT NULL,
stop_id INT, FOREIGN KEY fk_stop_id(stop_id) REFERENCES stops(stop_id) )
INSERT INTO arrivaltimes(weekday, arrivaltime) values
('mon-fri', '05:30' ),
('mon-fri', '06:07' )
CREATE TABLE IF NOT EXISTS routes
(routes_id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
route INT(11) NOT NULL,
stop_id INT, FOREIGN KEY fk_stop_id(stop_id) REFERENCES stops(stop_id) )
INSERT INTO routes(route) values
('1'),
('9')
请注意:FOREIGN KEY REFERENCES 请勿自行插入任何内容。
一个 table 中的外键指向另一个 table 中的主键。
FOREIGN KEY 约束防止将无效数据插入外键列,因为它必须是它指向的 table 中包含的值之一。
结果中显示的内容是正确的。在将记录插入路线和到达时间 table 时,您没有为 stop_id 传递任何值。
更改您的插入语句应该可以解决问题。
我正在尝试设计我的数据库 tables 以从 routes
table 获取 route
取决于骑手的位置和时间必须到达当前时间。当我在所有 table 中插入一些数据然后 routes
中的 stop_id 和 arrivalestimes
table 中的 NULL
时,我遇到了问题?数据库设计有问题吗?
一站多路。一条路线有很多站点。一站多到。
感谢任何帮助。
CREATE TABLE IF NOT EXISTS stops
(stop_id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
name varchar(30) NOT NULL,
lat double(10,6) NOT NULL,
longi double(10,6)NOT NULL)
INSERT INTO stops(name, lat, longi) values
('ABC', '63.838039', '18.700440' ),
('DEF', '63.840642', '18.701246' ),
('HIG', '63.868863', '18.665438' )
CREATE TABLE IF NOT EXISTS arrivaltimes(arrivaltimes_id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
weekday VARCHAR(20) NOT NULL,
arrivaltime time NOT NULL,
stop_id INT, FOREIGN KEY fk_stop_id(stop_id) REFERENCES stops(stop_id) )
INSERT INTO arrivaltimes(weekday, arrivaltime) values
('mon-fri', '05:30' ),
('mon-fri', '06:07' )
CREATE TABLE IF NOT EXISTS routes
(routes_id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
route INT(11) NOT NULL,
stop_id INT, FOREIGN KEY fk_stop_id(stop_id) REFERENCES stops(stop_id) )
INSERT INTO routes(route) values
('1'),
('9')
请注意:FOREIGN KEY REFERENCES 请勿自行插入任何内容。
一个 table 中的外键指向另一个 table 中的主键。
FOREIGN KEY 约束防止将无效数据插入外键列,因为它必须是它指向的 table 中包含的值之一。
结果中显示的内容是正确的。在将记录插入路线和到达时间 table 时,您没有为 stop_id 传递任何值。
更改您的插入语句应该可以解决问题。