我正在尝试将Null插入到我的表中的某个字段中,但该字段只是添加了0。
我怎样才能让它变成空虚?
字段的类型是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()."";
答案 0 :(得分:2)
您要插入的字段具有默认值或带有NOT NULL属性的numeric数据类型。
如果您想将NULL
插入该字段,您可以:
NULL?
。答案 1 :(得分:0)
您目前的尝试是什么?
这应该有效:
UPDATE my_table SET my_field = NULL WHERE id = <id>;
答案 2 :(得分:0)
如果列具有NOT NULL约束,则将NULL INSERT到列,那么它将无法实现;但除此之外没关系:
INSERT INTO MyTable (MyIntColumn) VALUES(NULL);
答案 3 :(得分:0)
空值为null或只是字符串null?你可以在你的表中使用“”(表被视为null,因为你在那一列中允许nullables),但是如果你想要null,我会把字符串null放在那里,或者让它检查是否单元格为空(“”)。
请参阅Lebugg的答案,了解如何做到这一点。
答案 4 :(得分:0)
您可以尝试使用单列:
INSERT INTO database
。table
()VALUES();
如果您想更新:
update table set field = NULL where something = something
请勿在更新语句中将NULL
放在引号内。
答案 5 :(得分:0)
您要做的是将列的默认值设置为NULL
。然后,如果您没有插入值,则列将包含NULL
。请记住,如果特定列是PK / FK,则无法进行。
UPDATE table_name SET field_name = NULL WHERE id = {id};