0

テーブルのフィールドの 1 つに Null を挿入しようとしていますが、代わりにフィールドに 0 が追加されます。

Nullになるにはどうすればよいですか?

フィールドの型は int で、デフォルト値は (NULL) です。

$query = "INSERT INTO article (article_title, article_credits, article_excerpt, article_body, article_img_list, article_img_main, article_published, article_date, article_modified, article_author, article_gallery_id, article_gallery_title) ".
                    "SELECT '".$db->escape($post['title'])."', '".json_encode($credits)."','".$db->escape($post['excerpt'])."','".$db->escape($post['article'])."','".$db->escape($articleImageListName)."','".$db->escape($articleImageMainName)."','".$published."','".date("Y-m-d H:i:s", strtotime($post['date']))."','".date('Y-m-d H:i:s')."', email, '".$db->escape($post['gallery'])."', 'View gallery'".
                    "FROM sm_users WHERE id = ".$acl->getLoggedInUserId()."";
4

6 に答える 6

2

挿入先のフィールドには、デフォルト値または NOT NULL プロパティを持つ数値データ型があります。

そのフィールドに挿入NULLする場合は、次のことができます。

  1. 挿入時にそのフィールドをスキップします。
  2. デフォルト値を削除します。
  3. プロパティを変更/確認しますNULL?
  4. index/FK/PK を変更します (PK/FK または INDEX として宣言されている場合)。
于 2013-06-06T09:16:20.720 に答える
0

単一の列でこれを試すことができます:

に挿入しdatabaseます。table() 値 ();

更新したい場合:

update table set field = NULL where something = something

NULLupdate ステートメントに引用符を入れないでください。

于 2013-06-06T09:18:49.843 に答える
0

あなたがしなければならないことは、列のデフォルト値を に設定することNULLです。次に、値を挿入しない場合、列には が含まれますNULL。特定の列が PK/FK の場合、それは不可能になることに注意してください。

UPDATE table_name SET field_name = NULL WHERE id = {id};
于 2013-06-06T09:19:03.907 に答える
0

値が null のように Null か、単に文字列が null か? テーブルに "" (その列でnullableを許可するため、テーブルではnullと見なされます)を含めることができますが、特にnullが必要な場合は、文字列nullをそこに入れるか、セルが空です ("")。

これを行う方法については、ルバグの回答を参照してください。

于 2013-06-06T09:14:13.487 に答える