Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

periksa apakah kolom ada sebelum ALTER TABLE -- mysql

Karena pernyataan kontrol mysql (misalnya "JIKA") hanya berfungsi dalam prosedur tersimpan, yang sementara dapat dibuat dan dijalankan:

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. kesalahan sintaks untuk deklarasi variabel mysql

  2. Pilih jika ada yang lain masukkan?

  3. Menghubungkan MySql dengan Android tanpa menggunakan PHP

  4. Hibernate:Secara otomatis membuat/memperbarui tabel db berdasarkan kelas entitas

  5. Python Terhubung Ke Database MySQL Dengan Konektor MySQL &Contoh PyMySQL