我有一个 sqlite 数据库。我正在使用 SQLite3 扩展在 PHP 中连接到它。
数据库来自我迄今为止用于发票的程序。我从该程序中取出 sqlite 文件并编写了自己的基于 Web 的界面。
一切似乎都很好,除非我为现有数据库创建了新表。
数据库已创建,我可以添加新条目,并且 lastInsertRowid() 会返回正确的 Last Insert ID。
但是,当我开始从新表中选择条目时,所有 ID(主键)都是空的。
我用 SQLite 数据库浏览器打开了我的数据库,有些奇怪。
也许首先我会给出我的数据库模式:
CREATE TABLE IF NOT EXISTS koszty
(
id NUMERIC PRIMARY KEY DESC,
data NUMERIC,
nazwa TEXT,
wartosc_netto NUMERIC UNSIGNED,
podatek NUMERIC UNSIGNED,
typ NUMERIC UNSIGNED,
filename TEXT,
opis TEXT
)
当我打开数据库时,有一个奇怪的表 sqlite_autoindex_koszty_1 似乎只对应于表。旧表没有它。
另一方面,还有似乎存储自动增量 ID 的 sqlite_sequence 表。
除 koszty 外,所有表都有其名称和 AI 值。
可能是什么原因?如何修复数据库。是我做错了什么(也许 Sqlite 版本不同?在 Sqlite2 DB 上使用 SQLite3?)还是 SQLite 如此不一致?