【问题标题】:sqlite3: near "." : syntax errorsqlite3:靠近“。” : 语法错误
【发布时间】:2018-04-19 18:34:23
【问题描述】:

我已经创建了两个表:

create table movies(id integer, name text, score integer);
create table cast(movie_id integer, cast_id integer, cast_name text);

我需要前 10 名(不同,按演员姓名字母顺序)演员和他们的平均电影分数,所以我尝试了:

select movie_id,cast_id,cast_name,id,score from cast,movies 
where movies.id=cast.movie_id and cast_name in 
(select distinct cast_name from cast order by cast_name limit 10);

但后来我收到一条错误消息:靠近“。” : 语法错误

在那之后,我试着让它更简单:

select cast_name, score from cast,movies where movies.id=cast.movie_id;

我仍然遇到同样的错误。

我猜这可能是因为 '.'是sqlite3中的一个特殊命令,但是不知道怎么解决这个问题。

任何帮助将不胜感激。

【问题讨论】:

    标签: sql sqlite


    【解决方案1】:

    cast 是保留字。保留字列表为here

    select cast_name, score
    from `cast` c join
         movies m
         on m.id = c.movie_id;
    

    您可以使用反引号或双引号对其进行转义。此查询使用表别名来简化查询和更现代的连接语法。

    【讨论】:

      【解决方案2】:

      您不能使用 指定列。符号只是按名称而不是 tablename.columnname 来调用列

      【讨论】:

        猜你喜欢
        • 2021-05-11
        • 2019-02-07
        • 2020-02-06
        • 2019-01-12
        • 2014-05-17
        • 2021-10-19
        • 2018-07-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多