Drupal 7 Mysql查询(插入)

时间:2013-02-11 14:08:58

标签: mysql drupal-7

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

我看到很多关于Drupal API mysql事情的文件,而且我一直在努力学习,我必须再次学习才能完成我的工作。

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

enter image description here

关于 INSERT 功能的问题,我将此表格命名为嵌入

enter image description here

这是我的数据来自表格嵌入。

enter image description here

然后在我的基本页上,我正在尝试插入查询。

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

它不会向表中插入数据,而是输出这样的错误。 enter image description here

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

1 个答案:

答案 0 :(得分: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'没有默认值

解释了很多。