sql >> データベース >  >> RDS >> Mysql

手順を使用して列のデフォルト値を変更する方法

    動的SQL> ここでは、Defaultとして Alter Tableの句 変数値を解決できなくなります:

    DELIMITER $$
    CREATE PROCEDURE updateDefaultUserRole(
        IN rid_in INT
    ) BEGIN
    
        -- generate the query string for Alter Table
        SET @alter_query_str = CONCAT('ALTER TABLE _users
                                       MODIFY rid INT(255) NOT NULL 
                                       DEFAULT ', 
                                      rid_in); -- Modify the columns default value
        -- prepare the query
        PREPARE stmt FROM @alter_query_str;
        -- execute the query
        EXECUTE stmt;
        -- deallocate the query
        DEALLOCATE PREPARE stmt;
    
        UPDATE _users SET rid = rid_in 
        WHERE rid < rid_in; -- Update all entries lower than the role ID.
    
    END $$
    DELIMITER ;
    



    1. 複数のオプションを1つのテーブルに保存するにはどうすればよいですか?

    2. 複数選択フィールドからのデータの処理

    3. MySQL FULL JOINは機能しませんが、RIGHTおよびLEFT結合は機能します

    4. LAST_DAY()がMariaDBでどのように機能するか