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

Làm cách nào để thay đổi tiền tố trong tất cả các bảng trong MySQL DB của tôi?

giải pháp zerkms không hoạt động với tôi. Tôi phải chỉ định information_schema cơ sở dữ liệu để có thể truy vấn Tables bảng.

SELECT 
    CONCAT('RENAME TABLE ', GROUP_CONCAT('`', TABLE_SCHEMA, '`.`', TABLE_NAME, '` TO `', TABLE_SCHEMA, '`.`prefix_', TABLE_NAME, '`')) AS q
FROM 
    `information_schema`.`Tables` WHERE TABLE_SCHEMA='test';

Chỉnh sửa:

Đã tối ưu hóa truy vấn để chỉ gọi RENAME TABLE một lần. Một điều gì đó mà tôi gặp phải là thực tế là đầu ra nối đã bị cắt ngắn ở 341 ký tự. Điều này có thể được giải quyết (nếu máy chủ của bạn cho phép) bằng cách đặt biến MySQL group_concat_max_len lên giá trị cao hơn:

SET group_concat_max_len = 3072; -- UTF8 assumes each character will take 3 bytes, so 3072/3 = 1024 characters.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để hiển thị dữ liệu từ mysql bằng PHP angle.js?

  2. Cảnh báo:mysqli_connect ():(HY000 / 1045):Quyền truy cập bị từ chối đối với người dùng 'tên người dùng' @ 'localhost' (sử dụng mật khẩu:CÓ)

  3. Sử dụng MySQLi để CHÈN Dữ liệu vào Cơ sở dữ liệu

  4. Truy vấn MySQL - sử dụng SUM trong số COUNT

  5. Hoạt động không được phép sau khi ResultSet đóng (mysql, java)