Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Chọn nếu tồn tại khác chèn?

Tuyên bố của bạn là tốt như nó là. Chỉ có một vấn đề là, bạn không thể sử dụng nó như một truy vấn thông thường. Các cấu trúc điều khiển như IF hoặc WHILE chỉ được phép trong các thủ tục hoặc hàm được lưu trữ.

Chỉ cần tạo một thủ tục như sau:

delimiter $$

create procedure select_or_insert()
begin

IF EXISTS (select * from users where username = 'something') THEN
    select id from users where username = 'something';
ELSE 
    insert into users (username) values ('something');
END IF;

end $$

và gọi nó như thế này:

call select_or_insert();

Vậy là xong.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Đối chiếu có nghĩa là gì?

  2. MySql chênh lệch giữa hai dấu thời gian trong ngày?

  3. Sử dụng SQL JOIN và COUNT

  4. MySQL Loại bỏ các cột trùng lặp trên Nối trái, 3 bảng

  5. cài đặt cả mysql và mysqlnd trên ubuntu 12.04