Mysql表损坏?
我有一个包含两个文本字段的表,两个字段的索引长度都为4Mysql表损坏?,mysql,count,records,Mysql,Count,Records,我有一个包含两个文本字段的表,两个字段的索引长度都为4 SELECT COUNT(*) cnt FROM `mytable` WHERE `field1` = ‘blue’; 给我看4张唱片和 SELECT COUNT(*) cnt FROM `mytable` WHERE `field2` = ‘blue’; 显示另外4条记录(不同结果) 但是: 只显示了5张唱片!为什么 当我使用descripe SELECT等(不含计数)时,它告诉我以下信息: id选择类型表类型可能的键长度参考行额外
SELECT COUNT(*) cnt FROM `mytable` WHERE `field1` = ‘blue’;
给我看4张唱片和
SELECT COUNT(*) cnt FROM `mytable` WHERE `field2` = ‘blue’;
显示另外4条记录(不同结果)
但是:
只显示了5张唱片!为什么
当我使用descripe SELECT
等(不含计数)时,它告诉我以下信息:
id选择类型表类型可能的键长度参考行额外
1个简单mytable索引_合并字段1、字段2字段1、字段2 6、6 NULL 495使用排序_联合(字段1、字段2);使用where
这怎么可能?为什么我看不到全部8张唱片
(注意:我替换了表名,因为实名是荷兰语)
如果您需要更多的表格信息,我会发布它
请帮忙。你需要什么
SELECT COUNT(*) cnt FROM mytable WHERE field1 = ‘blue’ AND field2 <> ‘blue’;
SELECT COUNT(*) cnt FROM mytable WHERE field2 = ‘blue’ AND field1 <> ‘blue’;
SELECT COUNT(*) cnt FROM mytable WHERE field2 = ‘blue’ AND field1 = ‘blue’;
从mytable中选择COUNT(*)cnt,其中field1='blue'和field2'blue';
从mytable中选择COUNT(*)cnt,其中field2='蓝色'和field1'蓝色';
从mytable中选择COUNT(*)cnt,其中field2='blue'和field1='blue';
只需从mytable中选择*,其中field1='blue'或field2='blue';'您将看到您的问题:)这实际上不是问题,因为field1
和field2
可能都有值blue
在一行中,field1为蓝色或field2为蓝色的结果可能重叠。第一个查询:8记录第二个查询:8记录第三个查询:0记录您确定,您拥有所有的字段1
和字段2
和=
和
对吗?两个字段中没有具有相同值的记录。从mytable中选择COUNT(*)cnt,其中field2='blue'和field1='blue';显示0条记录。
SELECT COUNT(*) cnt FROM mytable WHERE field1 = ‘blue’ AND field2 <> ‘blue’;
SELECT COUNT(*) cnt FROM mytable WHERE field2 = ‘blue’ AND field1 <> ‘blue’;
SELECT COUNT(*) cnt FROM mytable WHERE field2 = ‘blue’ AND field1 = ‘blue’;