Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL добавете колона, ако не съществува

Ако вашият хост не ви дава разрешение да създавате или изпълнявате процедури, мисля, че намерих друг начин да направя това с помощта на PREPARE/EXECUTE и запитване на схемата:

SET @s = (SELECT IF(
    (SELECT COUNT(*)
        FROM INFORMATION_SCHEMA.COLUMNS
        WHERE table_name = 'table_name'
        AND table_schema = DATABASE()
        AND column_name = 'col_name'
    ) > 0,
    "SELECT 1",
    "ALTER TABLE table_name ADD col_name VARCHAR(100)"
));

PREPARE stmt FROM @s;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Да съхранявате html обекти в базата данни? Или да конвертирате при извличане?

  2. TOP и ORDER BY sql грешка

  3. как да предотвратя инжектирането на sql от тази заявка?

  4. Радиус от 40 километра с използване на географска ширина и дължина

  5. Symfony2 връща празен JSON при извикване на AJAX, докато променливата не е празна