sql - 列名中带有空格的 Drupal 8 SQL 语句

标签 sql postgresql drupal drupal-8

我正在尝试使用 Drupal 的 sql 命令更新表,但列名使用空格。例如,其中一列名为“阶段 1”。 Drupal 传递命令时就好像名称是“Phase1”一样,我不太明白为什么。
我使用的是 Drupal 8,我使用的是 postgresql。

部分代码如下:

\Drupal::database()->update('table')
                    ->condition('test', $test)
                    ->fields([
                            "Phase 1" => $phase1,
                    ])
            ->execute();

最佳答案

在 Postgres 中,当名称包含空格时,您需要用双引号引起来:

... where "Phase 1" = 1 ...

那么试试这个:

\Drupal::database()->update('table')
                    ->condition('test', $test)
                    ->fields([
                            '"Phase 1"' => $phase1,
                    ])
            ->execute();

关于sql - 列名中带有空格的 Drupal 8 SQL 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45378898/

相关文章:

jquery - Drupal JQuery 未在本地主机上的 IE9 中加载

mysql - 需要一个 SQL 查询来将列值映射到列名

mysql - 从 MySQL 中的多个表创建 View

MySQL - 如何修改列默认值?

jquery - 使用 jQuery(长度选项)隐藏 div 不起作用

javascript - 如何通过 JavaScript 检查用户是否已登录 Drupal 站点?

php - 在 SQL 语句中使用标题大小写

postgresql - 使用 ASC 或 DESC 排序的主键?

sql - 即使没有匹配查询的行,如何强制 postgres 返回 0,使用 coalesce,group by 和 join

postgresql - 为什么只有 super 用户可以 CREATE EXTENSION hstore,而不能在 Heroku 上创建?