2

Drupalは初めてです。だから私はあなたが私を助けることができるかどうか疑問に思いました。

Drupal API mysqlのことに関する多くのドキュメントを見ました-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 に答える