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

Cách thay đổi giá trị mặc định của một cột bằng thủ tục

Bạn cần sử dụng SQL động tại đây, dưới dạng Default trong Alter Table sẽ không thể phân giải giá trị biến:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ví dụ về UTC_TIME - MySQL

  2. Có trình điều khiển cho mysql trên nodejs hỗ trợ các thủ tục được lưu trữ không?

  3. EF Core - Bảng '* .__ EFMigrationsHistory' không tồn tại

  4. Chèn có điều kiện MySQL

  5. Dữ liệu nhị phân không được lưu trữ đúng cách trong MySQL