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

Sử dụng 'end' làm tên cột trong Ruby on Rails (MySQL)

BEGIN và END là các từ dành riêng trong Oracle và SQL Server, nhưng không chắc tại sao MySQL không coi chúng là như vậy .

Tuy nhiên, PGError sẽ xuất hiện để chỉ ra rằng bản thân công cụ cơ sở dữ liệu (chứ không phải bất kỳ thời gian chạy nào liên quan đến Ruby) đã thực sự từ chối truy vấn vì "kết thúc".

Các từ dành riêng (và tên chứa khoảng trắng) có thể được sử dụng nếu được trích dẫn - có lẽ Active Record không trích dẫn các mã định danh trong SQL được tạo.

Tôi sẽ xem nhật ký trong MySQL (http://dev.mysql.com/doc/refman/5.5/en/query-log.html) và xem các câu lệnh được tạo.

Và vì PGError có nghĩa là PostGreSQL và bạn đã đề cập đến Heroku (PostgreSQL 8.3) - tôi nghĩ điều này là do END thực sự là một từ dành riêng trong PostgreSQL:http://www.postgresql.org/docs/8.3/static/sql-keywords-appcharge.html

http://www.petefreitag.com/tools/sql_reserved_words_checker/?word=end



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thay thế cho Intersect trong MySQL

  2. php / MySQL - Chỉ hiển thị một tiêu đề cho các mục

  3. lịch sử di chuyển không nhất quán khi thay đổi tên ứng dụng django

  4. Đoạn mã sau trả về lỗi 500 vì mã không được dùng nữa trong php phiên bản 7, Làm thế nào để làm cho nó hoạt động trong php verison 7?

  5. PHP / MySQL:Chọn các vị trí gần với một vị trí nhất định từ DB