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

kiểm tra xem cột có tồn tại trước ALTER TABLE hay không - mysql

Vì các câu lệnh điều khiển mysql (ví dụ:"IF") chỉ hoạt động trong các thủ tục được lưu trữ, một thủ tục tạm thời có thể được tạo và thực thi:

DROP PROCEDURE IF EXISTS add_version_to_actor;

DELIMITER $$

CREATE DEFINER=CURRENT_USER PROCEDURE add_version_to_actor ( ) 
BEGIN
DECLARE colName TEXT;
SELECT column_name INTO colName
FROM information_schema.columns 
WHERE table_schema = 'connjur'
    AND table_name = 'actor'
AND column_name = 'version';

IF colName is null THEN 
    ALTER TABLE  actor ADD  version TINYINT NOT NULL DEFAULT  '1' COMMENT  'code version of actor when stored';
END IF; 
END$$

DELIMITER ;

CALL add_version_to_actor;

DROP PROCEDURE add_version_to_actor;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tham khảo:Mẫu mã hoàn hảo sử dụng phần mở rộng MySQL là gì?

  2. Xóa thông số người dùng MySQL

  3. MySQL FIND_IN_SET () không hoạt động như mong đợi

  4. Còn lại tham gia với điều kiện

  5. Cách nhận bản ghi giữa 2 ngày trong MySQL