Trong SQLite, chúng ta có thể truy vấn sqlite_schema
để tìm hiểu xem một bảng nhất định có tồn tại hay không.
Trước phiên bản SQLite 3.33.0, bảng này được gọi là sqlite_master
(nó vẫn có thể được gọi như vậy trong các bản phát hành tiếp theo để tương thích ngược).
Ví dụ
Dưới đây là một ví dụ để chứng minh:
SELECT EXISTS (
SELECT
name
FROM
sqlite_schema
WHERE
type='table' AND
name='Customers'
);
Kết quả:
1
Trong trường hợp này, bảng tồn tại và 1
được trả lại.
Dưới đây là một ví dụ về những gì sẽ xảy ra khi bảng không tồn tại:
SELECT EXISTS (
SELECT
name
FROM
sqlite_schema
WHERE
type='table' AND
name='Inventory'
);
Kết quả:
0
sqlite_master
Bảng
Có thể chạy cùng một truy vấn bằng cách sử dụng sqlite_master
thay vì sqlite_schema
:
SELECT EXISTS (
SELECT
name
FROM
sqlite_master
WHERE
type='table' AND
name='Customers'
);
Kết quả:
1
Bạn cũng có thể sử dụng sqlite_temp_schema
hoặc sqlite_temp_master
, nhưng những điều này chỉ hoạt động cho TEMP
cơ sở dữ liệu được liên kết với mỗi kết nối cơ sở dữ liệu.