2013-02-11 79 views
2

我是新來的Drupal。 所以我想知道你能否幫助我。Drupal 7的MySQL查詢(插入)

我看到了很多關於Drupal的API MySQL的事情-Y文件,它被竊聽我,我要研究一下可以完成我的工作完成。

而這裏的是我申請我的問題

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

任何人都知道這個東西的解決方案?我現在對此很困惑。

+2

我開始學習Drupal的自己,但我覺得你的問題是MYSQL相關。在你的表中,所有表示NULL = NO的字段都需要在插入sql語句中插入值,或者,在mysql表中列出的默認值。 – steve 2013-02-11 14:43:27

回答

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' 沒有默認值

解釋了很多。