Đổi tên bảng trong MySQL


285

Đổi tên bảng không hoạt động trong MySQL

RENAME TABLE group TO member;

Thông báo lỗi là

#1064 - You have an error in your SQL syntax; check the manual that corresponds
        to your MySQL server version for the right syntax to use near 'group 
        RENAME TO member' at line 1

Truy vấn đang hoạt động tốt trên các bảng khác đối với tôi, nhưng không phải với bảng group.



3
Cả hai sqls đều giống nhau. Hãy thử đổi tên bảng
user1406062

5
Điều này minh họa độc đáo cách sử dụng tất cả các chữ hoa cho từ khóa.
Martin Jambon

8
Không nó không. Tất cả các từ khóa mũ cải thiện khả năng đọc và được mong đợi theo phong cách tiêu chuẩn.
ngắt dòng

Câu trả lời:


474

grouplà một từ khóa (một phần của GROUP BY ) trong MySQL, bạn cần bao quanh nó bằng các backticks để hiển thị MySQL mà bạn muốn nó được hiểu là tên bảng:

RENAME TABLE `group` TO `member`;

đã thêm (xem bình luận) - Đó không phải là dấu ngoặc đơn.


51
Và vâng, bạn cần đánh dấu lại `và không phải trích dẫn duy nhất 'Tôi đã trích dẫn từ thói quen và đã nhận được lỗi, nhưng có lẽ điều này sẽ cứu người khác 10 giây
Paul

Một số từ khóa, chẳng hạn như NAME vẫn có sẵn mà không cần đánh dấu lại. Tôi nghĩ rằng tính khả dụng này là một thực tiễn tồi, cần được xóa một ngày khỏi MySQL
ad4s

2
Hoặc không sử dụng từ khóa cho bảng hoặc cột.
jDub9

1
KHÔNG SỬ DỤNG TỪ KHÓA CHO BẢNG HOẶC MÀU SẮC.
mydoglixu


31

Truy vấn mysql để đổi tên bảng là

Rename Table old_name TO new_name

Trong truy vấn của bạn, bạn đã sử dụng nhóm một trong những từ khóa trong MySQL. Cố gắng tránh các từ khóa mysql cho tên trong khi tạo bảng, tên trường, v.v.


23
ALTER TABLE old_table_name RENAME new_table_name;

hoặc là

RENAME TABLE old_table_name TO new_table_name;

19

Đổi tên bảng trong MySQL:

ALTER TABLE current_name RENAME new_name;

5
Chào mừng đến với SO. Xin vui lòng đọc hướng dẫn cách trả lời này để cung cấp câu trả lời chất lượng. Chỉ hiển thị mã không phải là một thực hành tốt.
thewaywewere

16

Thay đổi tên bảng

RENAME TABLE old_table_name TO new_table_name;

14

nhóm - là một từ dành riêng trong MySQL, đó là lý do tại sao bạn thấy lỗi như vậy.

#1064 - You have an error in your SQL syntax; check the manual that corresponds
        to your MySQL server version for the right syntax to use near 'group 
        RENAME TO member' at line 1

Bạn cần bọc tên bảng vào backticks :

RENAME TABLE `group` TO `member`;

13
ALTER TABLE `group` RENAME `member`

nhóm là từ khóa, do đó bạn phải gửi kèm group


9
RENAME TABLE tb1 TO tb2;

tb1 - tên bảng hiện tại. tb2 - tên bạn muốn bảng của bạn được gọi.


8

Theo tài liệu mysql : "để đổi tên TEMPORARYbảng, RENAME TABLEkhông hoạt động. ALTER TABLEThay vào đó hãy sử dụng ."

Vì vậy, đây là phương pháp di động nhất:

ALTER TABLE `old_name` RENAME `new_name`;

6

Hãy thử bất kỳ trong số này

RENAME TABLE `group` TO `member`;

hoặc là

ALTER TABLE `group` RENAME `member`;

2

Để Mysql 5.6.18sử dụng lệnh sau

ALTER TABLE `old_table` RENAME TO `new_table`

Ngoài ra nếu có lỗi thông báo ".... gần RENAME TO ..." hãy thử xóa dấu tích `



1

Bạn có thể dùng

RENAME TABLE `group` TO `member`;

Sử dụng đánh dấu lại (`) thay vì trích dẫn đơn (').


-1

Nếu không đặt tên cơ sở dữ liệu, không thể đổi tên bảng trong trường hợp của tôi, tôi đã làm theo lệnh dưới đây để đổi tên bảng.

RENAME TABLE current_db.tbl_name TO current_db.tbl_name;

-6

Nhấp chuột phải vào Xem> Truy vấn mới

Và gõ: EXEC sp_rename 'Bảng', 'NewName'

Sau đó bấm vào nút Run ở góc trên cùng bên trái của trang.


MySQL không giao dịch SQL
Adam Joseph Looze
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.