2

我是 Drupal 的新手。所以我想知道你是否可以帮助我。

我看到了很多关于 Drupal API mysql thing-y 的文档,这一直困扰着我,我必须再次学习才能完成我的工作。

这是我应用于我的问题的文档

在此处输入图像描述

关于我关于INSERT函数的问题,我有这个表名为embed

在此处输入图像描述

这是我嵌入的表格中的数据。

在此处输入图像描述

然后在我的基本页面上,我试图插入一个查询。

$id = db_insert("embed")
    ->fields(array(
        'uid' => 1,
        'fbp_id' => 22222,
        'prom_stat' => 3333,
        'status' => 1,
    ))
    ->execute();

它没有向表中插入数据,而是输出这样的错误。 在此处输入图像描述

有人知道这个东西的解决方案吗?我现在真的很困惑。

4

1 回答 1

2

正如@steve 在评论中所建议的那样,问题不在drupal 方面,而在MySql 方面。您需要将插入代码修改为

$id = db_insert("embed")
    ->fields(array(
        'uid' => 1,
        'fbp_id' => 22222,
        'prom_stat' => 3333,
        'status' => 1,
        'prom_id' => 0,
        'sweep_stat' => 0,
        'sweep_id' => 0,
        'comp_id' => 0,
        'comp_stat' => 0,
        'polls_stat' => 0,
        'polls_id' => 0
    ))
    ->execute();

因为我可以看到您的 MySql 表已经包含值,所以我假设之前的插入是通过显式提供所有值来完成的,而不是依赖于 MySql 配置中字段的默认值。

每当您遇到 PDOException 时,您都应该仔细阅读它以获取线索。这些错误实际上是非常口头的,并提供了很多解决问题的指示。例如在你的情况下,

“prom_id”没有默认值

解释了很多。

于 2013-02-11T18:55:58.627 回答