mysql關於update的一道測試題 前段時間去面試看到了一個測試題 題目為: 表創建語句為: CREATE TABLE ·test_table`{ id int(5) unsigned NOT NULL AUTO_INCREMENT, a int(1) NOT NULL, b int(1) NOT NULL DEFAULT 1 )ENGINE=INNODB; 然後將表中增加數據 INSERT INTO test_table SET a=0,b=1; INSERT INTO test_table SET a=1,b=2; INSERT INTO test_table SET a=2,b=3; INSERT INTO test_table SET a=3,b=4; 請問執行下面語句後的數據庫結果 UPDATE test_table SET a=1 AND b=1 平時在接觸開發的時候總是使用UPDATE TABLE SET A=1,b=1 WHERE id=1之類這樣語句,沒有接觸過前面這樣的題目 後來通過思考和查詢手冊發現UPDATE語句的列更新是可以跟表達式的 然後把語句轉化一下 UPDATE test_table SET a=(1 AND b=1)就豁然開朗了 然後再來分析這插入的四條語句 第一條a=0 b=1 通過表達式分析條件為真 同理第二、三、四條的條件表達式都為假 所以最後的更新結果為 id a b 1 1 1 2 0 2 3 0 3 4 0 4