【问题标题】:SQLite SQL error or missing database (no such table)SQLite SQL 错误或缺少数据库(没有这样的表)
【发布时间】:2018-04-05 01:53:24
【问题描述】:

大家好,我的 Java 程序中的 SQLite 数据库出现了一些问题。我正在尝试从几个表中检索数据,但它说我的表不存在。我已经使用 DB Browser 进行了检查,它肯定在那里,所以我不确定我做错了什么。这是我收到的错误:

[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);

有人能看出我的查询有什么问题吗?我不擅长数据库,所以希望它只是一些简单的东西。

【问题讨论】:

  • 在您的 FROM staff_clocked_in.clock_in_time 中不是表格。应该只是 staff_clocked_in
  • 感谢您的建议,我设法解决了这个问题。

标签: sqlite


【解决方案1】:

错误信息是正确的staff_clocked_in.clock_in_time is not a table.

您应该使用 staff_clocked_in 代替您的桌子。

所以固定查询应该是这样的

SELECT * 
FROM staff, staff_clocked_in 
WHERE staff.staff_id = staff_clocked_in.staff_id;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-24
    • 2016-01-27
    • 1970-01-01
    • 2021-07-19
    • 1970-01-01
    • 2019-03-04
    • 1970-01-01
    相关资源
    最近更新 更多