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. テーブル変更エラーを回避する方法

    2. PostgreSQLですべてのデータベースを表示する2つの方法(psql)

    3. PostgreSQLエラー'サーバーに接続できませんでした:そのようなファイルまたはディレクトリはありません'

    4. SQLiteのトラップと落とし穴