问题:
查询语法正确,但datagrip,无法识别字段(但是可以执行),这是为什么?
select `studentno` from student;
加完表所在的数据库,就不报错了。
select `studentno` from school.student;
问题:
查询语法正确,但datagrip,无法识别字段(但是可以执行),这是为什么?
select `studentno` from student;
加完表所在的数据库,就不报错了。
select `studentno` from school.student;
ChatGpt3.5:
这可能是因为Datagrip无法识别查询语句中的表和字段的关联关系,特别是在查询多个表的情况下。在这种情况下,Datagrip无法确定查询的表来自哪个数据库,因此它会产生警告或错误。
通过在查询语句中指定完整的表名,包括数据库名称,可以帮助Datagrip正确地解析查询。因此,在第一个查询语句中,通过添加“school”数据库名称,Datagrip能够识别查询中使用的表和字段。这样,Datagrip就能够正确解析查询并将其与正确的数据库和表关联起来。
以上是GPT的答案,
我加些观点:执行pl sql 的上下环境要指定是哪个数据库,在执行语句的最前面加上“use #db name#;”就可以了;如果跨数据库表的语句,就要在表的前面指定哪个数据库了。如果GPT的建议。