Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

mengganti nama tabel yang terkunci

Sementara secara umum Rick berhak menggunakan Percona Tools (lihat 1 dan 2 ), jawaban dari pertanyaan tersebut sebenarnya adalah dengan menggunakan ALTER TABLE . Saya pikir RENAME itu hanya alias - tapi sepertinya bukan itu .

Tes tampaknya menunjukkan bahwa ini berfungsi dengan baik:

CREATE TABLE foo_new (...)

-- copy data to new table, might take very long
INSERT INTO foo_new (id,created_at,modified_at)
  SELECT * FROM foo WHERE id <= 3;

LOCK TABLES foo WRITE, foo_new WRITE;

-- quickly copy the tiny rest over
INSERT INTO foo_new (id,created_at,modified_at)
  SELECT * FROM foo WHERE id > 3;

-- now switch to the new table
ALTER TABLE foo RENAME TO foo_old;
ALTER TABLE foo_new RENAME TO foo;

UNLOCK TABLES;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL tidak ditemukan di manapun di komputer

  2. mysql anak induk

  3. Bagaimana cara menghapus semua catatan yatim di MySQL?

  4. Xampp MySQL tidak memulai - Mencoba memulai layanan MySQL...

  5. Hitung kemunculan nilai DISTINCT