首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当名称不包含特殊字符时,为什么在node-sqlite3中使用反引号?

当名称不包含特殊字符时,为什么在node-sqlite3中使用反引号?
EN

Stack Overflow用户
提问于 2018-03-18 19:08:02
回答 1查看 111关注 0票数 0

我正在做顶石(不可审查)的codeacademy亲密集项目。

本课提供了一个示例。

代码语言:javascript
复制
    db.serialize(function() {
      db.run('CREATE TABLE IF NOT EXISTS `Artist` ( ' +
              IF NOT EXISTS  NOT NULL, ' +
               '`name` TEXT NOT NULL, ' +
               '`date_of_birth` TEXT NOT NULL, ' +
               '`biography` TEXT NOT NULL, ' +
               '`is_currently_employed` INTEGER NOT NULL DEFAULT 1, ' +
               'PRIMARY KEY(`id`) )');

      db.run('CREATE TABLE IF NOT EXISTS `Series` ( ' +
               '`id` INTEGER NOT NULL, ' +
               '`name` TEXT NOT NULL, ' +
               '`description` TEXT NOT NULL, ' +
               'PRIMARY KEY(`id`) )');

      db.run('CREATE TABLE IF NOT EXISTS `Issue` ( ' +
               '`id` INTEGER NOT NULL, ' +
               '`name` TEXT NOT NULL, ' +
               '`issue_number` INTEGER NOT NULL, ' +
               '`publication_date` TEXT NOT NULL, ' +
               '`artist_id` INTEGER NOT NULL, ' +
               '`series_id` INTEGER NOT NULL, ' +
               'PRIMARY KEY(`id`), ' +
               'FOREIGN KEY(`artist_id`) REFERENCES `Artist`(`id`), ' +
               'FOREIGN KEY(`series_id`) REFERENCES `Series`(`id`) )');
    });

我理解es6中的反引号概念,在sqlite3中,反引号用于替代字符,如空格。然而,在这个例子中,我根本不明白为什么反引号是必要的,例如。Artistname等?

你能帮帮忙吗,我还在学习。

EN

回答 1

Stack Overflow用户

发布于 2018-03-19 06:58:53

SQL标准和SQLite对带引号的标识符使用双引号。仅为了与MySQL兼容,SQLite才支持反引号。

您说得对,这些标识符都不需要加引号。

(我假设Artist.id列所在的垃圾只是一个复制/粘贴错误。)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49347161

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档