Computer >> Máy Tính >  >> Lập trình >> MySQL

Khắc phục LỖI 1093 (HY000):Bạn không thể chỉ định bảng đích để cập nhật trong mệnh đề FROM trong khi xóa giá trị thấp nhất khỏi cột MySQL?

Đầu tiên chúng ta hãy tạo một bảng -

 mysql> tạo bảng DemoTable1597 -> (-> Đánh dấu int ->); Truy vấn OK, 0 hàng bị ảnh hưởng (0,69 giây) 

Chèn một số bản ghi vào bảng bằng lệnh chèn -

 mysql> chèn vào các giá trị DemoTable1597 (45); Truy vấn OK, 1 hàng bị ảnh hưởng (0,21 giây) mysql> chèn vào các giá trị DemoTable1597 (59); Truy vấn OK, 1 hàng bị ảnh hưởng (0,24 giây) mysql> chèn vào các giá trị DemoTable1597 ( 43); Truy vấn OK, 1 hàng bị ảnh hưởng (0,11 giây) mysql> chèn vào các giá trị DemoTable1597 (85); Truy vấn OK, 1 hàng bị ảnh hưởng (0,17 giây) mysql> chèn vào các giá trị DemoTable1597 (89); Truy vấn OK, 1 hàng bị ảnh hưởng ( 0,12 giây) 

Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -

 mysql> select * từ DemoTable1597; 

Điều này sẽ tạo ra kết quả sau -

 + ------- + | Dấu | + ------- + | 45 || 59 || 43 || 85 || 89 | + ------- + 5 hàng trong bộ (0,00 giây) 

Đây là truy vấn để loại bỏ ERROR 1093 (HY000). Chúng tôi đang xóa giá trị thấp nhất ở đây -

 mysql> xóa khỏi DemoTable1597 -> trong đó Marks =(-> chọn lowMarks từ (chọn min (Marks) là lowMarks từ DemoTable1597) là deleteRecord ->) giới hạn 1; Truy vấn OK, 1 hàng bị ảnh hưởng (0,11 giây)  

Hãy để chúng tôi kiểm tra các bản ghi bảng một lần nữa -

 mysql> select * từ DemoTable1597; 

Điều này sẽ tạo ra kết quả sau -

 + ------- + | Dấu | + ------- + | 45 || 59 || 85 || 89 | + ------- + 4 hàng trong bộ (0,00 giây)