Closed. This question needs details or clarity。它当前不接受答案。
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
5年前关闭。
当我调用熟女= 1时,我的列为1s和0s,效果很好
但是当我致电MILF = 0或MILF!= 1时,它不起作用,我在tinyint列上缺少什么?
我应该将其更改为其他tinyint吗?
作品
不起作用
有一个MILF零和一列
0表示她不是熟女,并且该值已设置为默认值
1表示她是熟女
困难的方法是将not milf值设置为另一个不同于0的值,但是是否有原因不能与0一起使用?
样品查询
结果集返回:
该行为如《 MySQL参考手册》中所定义。
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
5年前关闭。
当我调用熟女= 1时,我的列为1s和0s,效果很好
但是当我致电MILF = 0或MILF!= 1时,它不起作用,我在tinyint列上缺少什么?
我应该将其更改为其他tinyint吗?
作品
SELECT `MILF`,`page`,`img`,`Name`,`item`, (`totalrate` / `nrrates`),
@rank_count := @rank_count + (totalrate/nrrates < @prev_value) rank,
@prev_value := totalrate/nrrates avg
FROM table, (SELECT @prev_value := NULL, @rank_count := 1) init
WHERE MILF =1 ORDER BY avg DESC
不起作用
SELECT `MILF`,`page`,`img`,`Name`,`item`, (`totalrate` / `nrrates`),
@rank_count := @rank_count + (totalrate/nrrates < @prev_value) rank,
@prev_value := totalrate/nrrates avg
FROM table, (SELECT @prev_value := NULL, @rank_count := 1) init
WHERE MILF =0 ORDER BY avg DESC
有一个MILF零和一列
0表示她不是熟女,并且该值已设置为默认值
1表示她是熟女
困难的方法是将not milf值设置为另一个不同于0的值,但是是否有原因不能与0一起使用?
最佳答案
没有更多的信息,我们只是在猜测。
我的猜测是,您遇到的特定问题与TINYINT
数据类型没有真正的关系。
我的猜测是您没有考虑AND
和OR
布尔运算符的优先顺序。
但这只是猜测。
您说您“呼叫” MILF =0 or MILF !=1
。我们认为这是作为布尔表达式,SELECT
列表中的表达式,函数的参数,谓词(即WHERE
或ON
子句),在ORDER BY
子句中或语句中的其他位置。
您说“它不起作用”,而“它不起作用”。我们认为这意味着您正在执行SQL语句,并且该语句返回意外错误,或者SELECT语句返回的行不符合您的期望,或者您正在运行其他产生意外事件的DML操作结果。
测试用例,样本表,样本数据
CREATE TABLE mytable (id INT UNSIGNED PRIMARY KEY, milf TINYINT);
INSERT INTO mytable (id,milf) VALUES (10,0),(11,1),(12,2),(13,-1),(14,NULL);
样品查询
SELECT id
, milf
, milf =1
, milf =0
, milf !=1
, milf <=> NULL
FROM mytable
ORDER BY id
结果集返回:
id milf milf =1 milf =0 milf !=1 milf <=> NULL
------ ------ ------- ------- -------- -------------
10 0 0 1 1 0
11 1 1 0 0 0
12 2 0 0 1 0
13 -1 0 0 1 0
14 (NULL) (NULL) (NULL) (NULL) 1
该行为如《 MySQL参考手册》中所定义。
08-06 17:32