大家好,我在java程序中遇到了SQLite数据库的问题。我试图从几个表中检索数据,但它说我的表不存在。我已经使用数据库浏览器进行了检查,它确实存在,所以我不确定我做错了什么。这是我收到的错误:
[SQLITE_ERROR] SQL错误或缺少数据库(没有这样的表:staff_clocked_in.clock_in_time)
SELECT * FROM staff, staff_clocked_in.clock_in_time WHERE staff.staff_id = staff_clocked_in.staff_id;
我确定我的表存在并且两个表中都有数据,这是我的数据库浏览器的屏幕截图。
如果有帮助,这就是我设置表格的方式:
职工:
CREATE TABLE IF NOT EXISTS staff (staff_id INTEGER PRIMARY KEY NOT NULL, first_name TEXT NOT NULL, last_name TEXT NOT NULL, job_title TEXT NOT NULL);
STAFF_CLOCKED_IN:
CREATE TABLE IF NOT EXISTS staff_clocked_in (staff_id INTEGER PRIMARY KEY NOT NULL REFERENCES staff(staff_id), clock_in_time DATETIME NOT NULL);
任何人都可以看到我的查询有什么问题吗?我对数据库并不擅长,所以希望它只是一些简单的事情。
答案 0 :(得分:1)
错误消息正确staff_clocked_in.clock_in_time
不是表格。
您应该使用staff_clocked_in
代替您的桌子。
因此固定查询应该看起来像
SELECT *
FROM staff, staff_clocked_in
WHERE staff.staff_id = staff_clocked_in.staff_id;