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

Menggunakan 'akhir' sebagai nama kolom di Ruby on Rails (MySQL)

BEGIN dan END adalah kata-kata yang dicadangkan di Oracle dan SQL Server, tetapi tidak yakin mengapa MySQL tidak menganggapnya seperti itu .

Namun PGError itu akan muncul untuk menunjukkan bahwa mesin basis data itu sendiri (dan bukan runtime terkait Ruby) memang menolak kueri karena "akhir".

Kata-kata yang dicadangkan (dan nama yang mengandung spasi) dapat digunakan jika dikutip - mungkin Rekaman Aktif tidak mengutip pengidentifikasi dalam SQL yang dihasilkan.

Saya akan melihat log di MySQL (http://dev.mysql.com/doc/refman/5.5/en/query-log.html) dan melihat pernyataan yang dihasilkan.

Dan karena PGError berarti PostGreSQL dan Anda menyebutkan Heroku (PostgreSQL 8.3) - Saya pikir ini karena END memang merupakan kata yang dicadangkan di PostgreSQL:http://www.postgresql.org/docs/8.3/static/sql-keywords-appendix.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. Membandingkan string dengan yang satu memiliki ruang kosong sebelumnya sementara yang lain tidak

  2. Kesalahan #2002 Tidak dapat terhubung ke server MySQL lokal melalui soket '/Applications/MAMP/tmp/mysql/mysql.sock' (2)

  3. Hibernate save() dan rollback transaksi

  4. Duplikat nama kolom dalam kueri SQL

  5. MySQL - UPDATE query dengan pernyataan SET tergantung pada hasil dari pernyataan SET sebelumnya