索引或主关键字不能包含一个 空 (Null) 值。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了索引或主关键字不能包含一个 空 (Null) 值。相关的知识,希望对你有一定的参考价值。
我在ASP中向ACCESS数据库提交数据时报错
Microsoft JET Database Engine '80040e21'
索引或主关键字不能包含一个 空 (Null) 值。
是什么意思啊,怎么解决这问题啊
主键是不许为空的,,检查下你的程序吧,,
在插入数据库前,将你要写入数据库的值都打出来看看,看是否正确 参考技术A 我也是遇到同样情况,网上搜了一圈,无解,包括所有字段填满、删除导入的字段重新添加,都不顶。最后发现,在别的模式下显示时(我也不知道按什么键看到一个表),看到我的一条记录前面,有很多行空值。可能还是导入execl文件时,带进来多余的东西了。然后,重新打开execl,把我要的那部分复制,新建一个execl文件,只粘贴要的这部分(原来是有10来页的一个大表),然后导入,一切ok,主键都有了。
检查数组对象中特定索引的所有值是不是为 Null?
【中文标题】检查数组对象中特定索引的所有值是不是为 Null?【英文标题】:Check all value of specific index in array object is Null or not?检查数组对象中特定索引的所有值是否为 Null? 【发布时间】:2015-12-23 13:15:27 【问题描述】:我在 php 中有一个数组对象。
我想为所有内部对象取消设置所有包含空值的索引。
示例:
$数据喜欢
Array (
[0] => Array (
[address] => 123
[address1] => asddff
[address3] =>
)
[1] => Array (
[address] => 123
[address1] =>
[address3] =>
)
[2] => Array (
[address] => 123
[address1] => asddff
[address3] =>
)
[3] => Array (
[address] => 123
[address1] => asddff
[address3] =>
)
)
示例: 所以 address3 索引对于所有数组对象都是空的,所以我想让它为所有对象取消设置。 address1 不为空,所以我需要它。只为所有人取消设置 address3 索引。 步骤:
-
想要检查所有数据的哪些索引为空。
取消设置所有这些索引。
所以结果应该是这样的:
Array (
[0] => Array (
[address] => 123
[address1] => asddff
)
[1] => Array (
[address] => 123
[address1] =>
)
[2] => Array (
[address] => 123
[address1] => asddff
)
[3] => Array (
[address] => 123
[address1] => asddff
)
)
【问题讨论】:
你到目前为止所尝试的发布你的尝试 array_filter 给你。 【参考方案1】:在您取消设置时迭代并通过引用传递。
foreach ($arr as &$a)
if (empty($a['address3']))
unset($a['address3']);
var_dump($arr);
【讨论】:
我们不能简单地使用empty($a['address3'])
而不是!isset($a['address3']) || $a['address3'] === ""
不知道那个。也可以使用。【参考方案2】:
我认为 array_filter 会做你想做的事
$data_filtered = array_filter($data, function ($obj)
return !is_null($obj['address2']);
);
var_dump($data);
var_dump($data_filtered);
嗯,将过滤后的值存储在新变量中只是一个例子,你可以做任何你想做的事情。
【讨论】:
【参考方案3】:只需将array_filter
与array_map
一起使用
print_r(array_map('array_filter',$your_array));
【讨论】:
这将摆脱“address2”。我相信 OP 希望留下那个。 Nope 想要检查所有数据的哪些索引为空。取消设置所有这些索引。 @CodeGodie 在这种情况下,你明白了。 它也会去掉 '[1]['address1']'。如果所有 [0],[1],[2] 的索引地址 1 为空,则只需删除即可。就像索引地址 3 对所有人都为空一样。所以它应该为所有人取消设置。不是 'address1' 索引,因为它不是每个索引都为空。 那你需要查this答案以上是关于索引或主关键字不能包含一个 空 (Null) 值。的主要内容,如果未能解决你的问题,请参考以下文章