2010-10-15 36 views
32

Tôi đang cố gắng đổi tên cơ sở dữ liệu thành một tên bằng dấu nối (-).Trình tự thoát cho dấu nối (-) trong PostgreSQL

ALTER DATABASE one RENAME TO one-two; 

Và psql trả về một lỗi:

ERROR: syntax error at or near "-" 

Tôi nên sử dụng như một dãy thoát cho "-" nhân vật hoặc các cách để làm các việc trên là gì?

Lưu ý: Tôi đã thử '\ -' và không hoạt động.

Cảm ơn.

+0

Có lý do nào bạn sử dụng dấu gạch ngang thay vì dấu gạch dưới không? –

+2

Có Bruce, tôi đang làm việc với một hệ thống đã được tạo và duy trì trong vài năm. Và việc đổi tên này phải được thực hiện để phù hợp với các quy ước đặt tên cơ sở dữ liệu khác cho hệ thống đó. :-) –

Trả lời

44

Dấu ngoặc kép phải làm điều đó. Nhưng bạn sẽ phải luôn sử dụng mã định danh được trích dẫn ở mọi nơi bạn tham chiếu cơ sở dữ liệu.

ALTER DATABASE one RENAME TO "one-two"; 
+0

Điều này đã hiệu quả. Cảm ơn Joe. –

Các vấn đề liên quan