gpt4 book ai didi

mysql - 从 MySql 移植到 SQLite 代码后,VIEW 创建不起作用

转载 作者:行者123 更新时间:2023-11-29 12:48:57 25 4
gpt4 key购买 nike

我正在移植一个应用程序,并决定在 SQLite 中以镜面反射方式移植其数据库。所有表格都工作正常,但 View 如下:

VIEW `view_type_questions` AS 
select `questions`.`id` AS `id_question`,
`type_modules`.`id` AS `id_type`,
`type_modules`.`description` AS `type_questions`
from (`questions` left join (`modules` left join `type_modules`
on((`modules`.`id_type` = `type_modules`.`id`)))
on((`questions`.`id_module` = `modules`.`id`)))

我以同样的方式翻译,没有顶点('):

 VIEW view_type_questions AS select questions.id AS
id_question,type_modules.id AS
id_type,type_modules.description AS type_questions
from (questions left join (modules left join type_modules
on((modules.id_type = type_modules.id)))
on((questions.id_module = modules.id)))

给了我一个奇怪的错误,因为当我尝试执行此查询时,我得到以下信息:

处理 SQL 时出错:无法准备语句(1 没有这样的列:type_modules.id)

(我100%确定有包括type_modules在内的所有表)

  1. 有办法进一步调查吗?
  2. 创建 View 有什么不同吗mysql 和 sqlite 之间?

最佳答案

当您在连接周围使用多余的括号时,某些 SQLite 版本会出现问题。只需删除它们即可(并且为了 Zarquon,请正确格式化查询):

CREATE VIEW view_type_questions AS
SELECT questions.id AS id_question,
type_modules.id AS id_type,
type_modules.description AS type_questions
FROM questions
LEFT JOIN modules ON questions.id_module = modules.id
LEFT JOIN type_modules ON modules.id_type = type_modules.id

关于mysql - 从 MySql 移植到 SQLite 代码后,VIEW 创建不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25037931/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com