2012-12-27 28 views
-1

我在字段NOT NULL中設置默認值。 sql如下。MySQL可以區分NULL和「」(空字符串)

insert into table_name() values() 

我預計這個SQL應該被MySQL拒絕,因爲字段限制NULL。 但是,該字段有一個值「」(空字符串)。

然後,我試着另一個SQL。

insert into table_name (name) values (NULL) 

由於此sql被拒絕,因此未插入任何值。

MySQL似乎區分NULL和「」。我必須避免第一個sql如「values()」嗎?

+0

如果你不需要一個值,那麼保持NOT NULL,如果你這樣做,那麼你需要在INSERT語句中輸入一個值或設置一個默認值。其中一個或另一個是必需的或它會返回一個錯誤。 – SnareChops

回答

1

對於一個很好的做法總是讓列不爲空,並設置當你創建一個表的默認值。

在插入時間,如果您沒有提供值,則該列將被分配爲默認值。

相關問題