我在一个包含6千万行的大型表上的ALTER 5.6数据库上运行以下MySQL命令:尽管同时指定了ALGORITHM=INPLACE和LOCK=NONE,但表会被锁定,并在迁移完成之前从本质上删除应用程序。我通过检查In_use命令输出的SHOW OPEN TABLES列的值来验证表确实被锁定。它被设置为1。
根据
我试图验证数据库配置的正确性。因此,我使用配置中提供的帐户信息连接到MySQL服务器,并尝试执行一些查询。问题是我应该发出哪些查询?一种可能的方法是从information_schema.tables获取表信息并进行简单的删除/更新。delete from some_table where 1=0 limit 1;还有其他方法来解决这个问题吗?还是另一种方法来验证数据库配置的正确性?
在下表People中 1 James 3 Ethanselect max(id) id from People;id如果我想对除最后一行之外的所有行的id加1,我尝试这样做:令人惊讶的是,我得到了为什么max()不能像以前那样工作?为什么只有一行(看起来只有第一行)返回?我想我知道如何解决这个问题,如下所示:
select if(id=lastID, id, id+1) id,