创建了表并插入了一些数据我试图在JOIN INNER的帮助下从route
表中获取arrivaltimes
但是我什么也没收到我已经尝试调整时间到当前时间到达时间表,但结果总是空的。我没有收到任何错误。我的查询有问题吗?
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)
CREATE TABLE IF NOT EXISTS arrivaltimes
(arrivaltimes_id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
weekday VARCHAR(20) NOT NULL,
route INT(11) NOT NULL,
arrivaltime time NOT NULL,
stop_id INT, FOREIGN KEY fk_stop_id(stop_id) REFERENCES stops(stop_id) )
SELECT route from arrivaltimes INNER JOIN stops ON arrivaltimes.stop_id=stops.stop_id where arrivaltime = now()
答案 0 :(得分:0)
arrivaltime
的数据类型为time
,其格式为H:i:s
。
在您使用now()
的where子句中,它的格式为Y-m-d H:i:s
您需要使用curtime
功能。
mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2015-05-10 23:46:44 |
+---------------------+
1 row in set (0.00 sec)
mysql> select curtime();
+-----------+
| curtime() |
+-----------+
| 23:46:53 |
+-----------+
1 row in set (0.00 sec)
where arrivaltime = curtime()