Mysql 我需要截断一个表,然后插入新的寄存器,但用户看不到这一点

Mysql 我需要截断一个表,然后插入新的寄存器,但用户看不到这一点,mysql,sql,insert,truncate,Mysql,Sql,Insert,Truncate,这很难理解,但是,有一个表我需要截断,同时插入新的寄存器,但在这个过程中,网站访问者看不到网站内容上什么都没有,我如何在SQL中做到这一点,比如说“缓存寄存器”之类的单次转换在新表出现之前?用于切换2个表 与ALTER TABLE不同,RENAME TABLE可以在一条语句中重命名多个表: 准备新表格下一张表格(可能需要很长时间) TABLE将_TABLE重命名为_TABLE_prev,将_TABLE_紧挨着_TABLE(非常快的操作) 删除/截断表格表格\u prev 执行重命名表时,不能

这很难理解,但是,有一个表我需要截断,同时插入新的寄存器,但在这个过程中,网站访问者看不到网站内容上什么都没有,我如何在SQL中做到这一点,比如说“缓存寄存器”之类的单次转换在新表出现之前?

用于切换2个表

与ALTER TABLE不同,RENAME TABLE可以在一条语句中重命名多个表:

  • 准备新表格
    下一张表格
    (可能需要很长时间)
  • TABLE将_TABLE重命名为_TABLE_prev,将_TABLE_紧挨着_TABLE(非常快的操作)
  • 删除/截断表格
    表格\u prev
执行重命名表时,不能有任何锁定的表或活动事务。在满足该条件的情况下,重命名操作以原子方式完成;重命名过程中,其他会话无法访问任何表

如果重命名表期间发生任何错误,则该语句将失败,并且不会进行任何更改

注:

使用
altertablerename
时,需要使用2个命令==>2个不同的事务(DDL指令)

使用
重命名表
=>单个事务

用于切换2个表

与ALTER TABLE不同,RENAME TABLE可以在一条语句中重命名多个表:

  • 准备新表格
    下一张表格
    (可能需要很长时间)
  • TABLE将_TABLE重命名为_TABLE_prev,将_TABLE_紧挨着_TABLE(非常快的操作)
  • 删除/截断表格
    表格\u prev
执行重命名表时,不能有任何锁定的表或活动事务。在满足该条件的情况下,重命名操作以原子方式完成;重命名过程中,其他会话无法访问任何表

如果重命名表期间发生任何错误,则该语句将失败,并且不会进行任何更改

注:

使用
altertablerename
时,需要使用2个命令==>2个不同的事务(DDL指令)

使用
重命名表
=>单个事务

如果可以截断表,则可以假定该表上没有键限制。如果是这样,我会:

  • 1) 假设原始表是Table1,我将创建具有完全相同结构的Table2
  • 2) 然后我将用我需要的任何东西填充表2
  • 3) 之后,在一个事务中,我将表1的名称更改为表3,表2的名称更改为表1
  • 4) 最后,我将根据需要使用表3(最初是表1)
在MySQL中,您可以使用以下命令重命名表:

ALTER TABLE table_name
   RENAME TO new_table_name;
如果可以截断该表,那么可以假定该表上没有键限制。如果是这样,我会:

  • 1) 假设原始表是Table1,我将创建具有完全相同结构的Table2
  • 2) 然后我将用我需要的任何东西填充表2
  • 3) 之后,在一个事务中,我将表1的名称更改为表3,表2的名称更改为表1
  • 4) 最后,我将根据需要使用表3(最初是表1)
在MySQL中,您可以使用以下命令重命名表:

ALTER TABLE table_name
   RENAME TO new_table_name;
它的MySQL(randomwordsforpostcomment)和MySQL(randomwordsforpostcomment)