You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native使用SQLite报错Error code 1: no such table求助

React Native SQLite 报错:no such table: Movies 解决方法

你的报错原因很明确:在Movies表被创建之前,就执行了查询操作。

看你的useEffect代码,你先调用了selectOperation(),再执行创建表的db.transaction。虽然代码写在前面,但SQLite的事务操作是异步的,查询请求会先于表创建完成前执行,自然找不到表。

修复方案

调整执行顺序,确保表创建(或确认存在)后再执行查询。利用db.transaction的第三个参数(成功回调)来触发查询:

useEffect(() => {
  db.transaction(
    (tx)=>{
      tx.executeSql(
        'CREATE TABLE IF NOT EXISTS Movies (id TEXT, title TEXT, description TEXT, duration TEXT, datetime TEXT, actors TEXT)'
      )
    },
    (error) => console.log('创建表失败:', error), // 可选的错误回调
    () => {
      // 表创建完成后执行查询
      selectOperation();
    }
  )
}, [])

额外注意

如果之前已经安装过该应用,旧的数据库文件可能已经存在且没有Movies表。这种情况下,卸载应用后重新安装,确保数据库被重新初始化。

内容的提问来源于stack exchange,提问作者anon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 14:25:35