delete from student where id=9 and id=8
(0 行受影響)
為什么我這個不行啊.這個語法應該是對的啊.我資料沒有問題
uj5u.com熱心網友回復:
你哪條資料是id即是9又是8的uj5u.com熱心網友回復:
id=8 有一個資料 id=9有一個資料啊uj5u.com熱心網友回復:
delete from student where id=9 OR id=8
大哥,大哥,腦殼短路了么
uj5u.com熱心網友回復:
為什么and不行uj5u.com熱心網友回復:
8是一行資料 9也是一行資料uj5u.com熱心網友回復:
連接條件不能寫and。and的意思很明顯是“和”,“且”的意思,資料庫怎么可能會有一條資料id既等于8又等于9的啊,所以你得用樓上那個方法or,or代表的意思是“或”,這樣就讀的通了,洗掉一個id為8或id為9的資料。當然你也可以用inuj5u.com熱心網友回復:
id=9 and id=8???????????
性別=男 and 性別=女
這估計只有雙性人符合條件
uj5u.com熱心網友回復:
資料庫是抽象看是逐行判定的(你就這么認為好了,為了加快掃描,資料庫有別的優化,但是你可以認為他抽象上就是一個大回圈)所以
foreach (var row in rows)
{
if(rows.id==8 &&row.id==9)
{
//你覺著這個條件能找到么
}
}
uj5u.com熱心網友回復:
基礎很重要。。。先學學啥是邏輯運算吧uj5u.com熱心網友回復:
id=9 or id=8你根據語意就知道了,當id=9并且id=8,能對嗎?
uj5u.com熱心網友回復:
你用and連接符意味著id既要等于9又要等于8,顯然是不可能的uj5u.com熱心網友回復:
and是并且的意思,按你的陳述句就是說洗掉id=8并且id=9的資料,但是id只能是一個值怎么可能既是8又是9呢。所以應該用or,就是id=8或者id=9,這樣的話8和9的兩條記錄都會被洗掉
uj5u.com熱心網友回復:
id=9 and id=8 ,如果id為8,又怎么可能為9 -_- 如果是要洗掉得把and換成oruj5u.com熱心網友回復:
年度熱門sqluj5u.com熱心網友回復:
題主的思路應該這么寫delete from student where id in (9,8)
uj5u.com熱心網友回復:
基礎不牢,delete from student where Name='張三' and Sex='女'條件是名字叫張三,性別是女的。
uj5u.com熱心網友回復:
你生理上即男的也是女的,你覺得你可以嗎?uj5u.com熱心網友回復:
語法確實沒錯,資料可能確實沒問題。問題出在了你的邏輯

uj5u.com熱心網友回復:
這個就是并列或的關系 你這個條件說明你的id要同時滿足等于8和9 這個肯定不會有資料的 or就或的關系 這樣才能實作你想要的洗掉動作uj5u.com熱心網友回復:
delete from student where id in(8,9)大哥,大哥,腦殼短路了么
uj5u.com熱心網友回復:
用or或in都行啊 為什么要anduj5u.com熱心網友回復:
腦補一下,樓主的目的是:洗掉 id = 8 和 id = 9 的記錄所以,洗掉陳述句寫成了:delete from student where id = 8 and id = 9
不過樓主,資料庫可不是這么思考并且執行作業任務的
你可以這么理解資料的作業:資料庫系統把洗掉陳述句進行解釋或者編譯之后(總之就是讀懂你的洗掉陳述句之后),會對表進行逐行掃描,如果發現被掃描的行滿足 where 子句的條件,則洗掉這么記錄,然后掃描下一行,直到全表掃描完成
uj5u.com熱心網友回復:
老哥是來找樂子的不?uj5u.com熱心網友回復:
我一開始還沒看出來什么錯誤。uj5u.com熱心網友回復:
同時等于8與9是交集,不是8,9的并集uj5u.com熱心網友回復:
沒看到樓主的回復,不知道理解了沒有。。。uj5u.com熱心網友回復:
OK我知道了謝謝
uj5u.com熱心網友回復:
嗯嗯謝謝uj5u.com熱心網友回復:
嗯 我理解了 謝謝uj5u.com熱心網友回復:
Id in (8 ,9)uj5u.com熱心網友回復:
在student這個表里面Id應該是唯一的。where后面的條件設定成了id是9并且是8的一行資料。id唯一的情況下這樣的資料是不存在的。where后面的條件應該把且(and)的關系更改為并(or)就可以洗掉你想洗掉的資料了。可以再嘗試一下哦
uj5u.com熱心網友回復:
&& 與||這個能區分嗎uj5u.com熱心網友回復:
大哥,你這么寫不行啊,怎么可能又是9又是8,就比如是你是個男的又是個女的一個道理,邏輯不通。uj5u.com熱心網友回復:
delete from student where id=9 OR id=8
uj5u.com熱心網友回復:
對于欄位中一個整形的值是不能用 AND 條件的。delete from student where id=9 and id=8
你這個是錯誤的,
你的意思應該是 洗掉 等于 9 或 等于 8 的2個記錄把,應該這么寫
DELETE FROM student WHERE id=8 OR id=9
或是這么寫 DELETE student WHERE id=8 OR id=9
或是這么寫 TRUNCATE student WHERE id=8 OR id=9
uj5u.com熱心網友回復:
TRUNCATE 這個不能帶條件,不好意思。
uj5u.com熱心網友回復:
不是應該用 or 鏈接么uj5u.com熱心網友回復:
delete from student where id in(8,9)uj5u.com熱心網友回復:
id in(8,9);uj5u.com熱心網友回復:
delete from 表 where id between 8 and 9.這樣才是規范寫法。
uj5u.com熱心網友回復:
AND 這種條件怎么可能有。 一個資料怎么可能 同是是 8 和 9 2個值uj5u.com熱心網友回復:
in(,) 和 OR 基本是一個意思
uj5u.com熱心網友回復:
id=9 and id=8 這樣的不存在uj5u.com熱心網友回復:
應該是or,不是and轉載請註明出處,本文鏈接:https://www.uj5u.com/net/133025.html
標籤:C#
上一篇:tsql = "insert into [Sheet1$](t1) values('123')"這段sql陳述句有什么問題嗎?
下一篇:EmguCV做人臉檢測時遇到找不到檔案 :haarcascade_frontalface_default.xml
