我想向现有表格添加列。
有没有办法在不锁定表的情况下更改表?
最佳答案
不,这是不可能的。
但是,添加可为空列或具有常量(不可变)默认值的非空列仅仅是目录更改,并且只需要很短的时间(如果可以获得锁,通常为“毫秒”)。但在此期间,独占锁是无法避免的。
关于Mysql:ALTER TABLE而不锁定表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63670682/
我想向现有表格添加列。
有没有办法在不锁定表的情况下更改表?
最佳答案
不,这是不可能的。
但是,添加可为空列或具有常量(不可变)默认值的非空列仅仅是目录更改,并且只需要很短的时间(如果可以获得锁,通常为“毫秒”)。但在此期间,独占锁是无法避免的。
关于Mysql:ALTER TABLE而不锁定表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63670682/
相关文章:
sql - 转换为日期时间 - 带有日期的 DateTime 列和带有时间的 nvarchar 列
c++ - __transaction_atomic 未启用事务内存支持
locking - 在 Unix 上正确处理 PID 文件的引用
java - 如何将 mili 秒格式更改为 yyyy-mm-dd hh :mm:ss to insert to mysql with datetype colunm
php - 复选框多选数组不会在 for 循环内推送到 $_POST
sql - 是否可以从 clickhouse 表中删除旧记录?