2013-08-02 44 views
1

我有一個客戶表,我無法更改。它有一個varchar字段,其中包含NULL或5.0和NULL的PDO問題

我試圖將其更改爲我的字段中的1/0(tinyint 1)。

if ($row['varfield'] == '7') { 
    $row['varfield'] = 1; 
} else { 
    $row['varfield'] = 0; 
} 

$stmt = $db->prepare("INSERT INTO table(col1) VALUES(?)"); 
$stmt->execute(array($row['varfield'])); 

但是我得到的錯誤在我的SQL說,COL1無法可空...

+0

那麼,列是什麼類型? –

+0

這是一個tinyint(4),默認爲(0) – user1831020

+0

您是否更新了表以首先將所有「NULL」值更改爲「0」? –

回答

1

但是我得到的錯誤在我的SQL說,COL1無法可空.. 。

因此,將該列設置爲可在數據庫中爲空。

+1

我認爲他/她想要將列從可以爲null的varchar更改爲non- null布爾('tinyint(1)')。 –

+0

那麼目標是將它作爲布爾值來存儲。 – user1831020

+0

一個月後,我嘗試在PDO中使用「tinyint」,但我沒有找到解決方案,我使用值爲'0','1'或'int'的「enum」 –