Kesalahan konektor mysql programmingerror 1064 (42000): Anda memiliki kesalahan dalam sintaks sql Anda

Hai, saya mencoba menggunakan python-sql dengan mysql dan saya benar-benar ingin ini berfungsi karena SQL sepertinya sesuatu yang keluar dari era COBAL
Berikut adalah beberapa contoh kode dan output yang dihasilkan

#! python3.8
import mysql.connector as mysql
import os, sys

from sql import *

db = mysql.connect(
    host = "localhost",
    user = "root",
    passwd = "isfdb",
    #~ auth_plugin='mysql_native_password'
)
cu = db.cursor()
cu.execute('USE ISFDB;')
print('Manual SELECT Generation\n')
select = 'SELECT * FROM authors AS a LIMIT 10'
cu.execute(select)
authors = cu.fetchall()
if not authors:
    print('No authors')
    sys.exit()
for a in authors:
    print('Authors', a[0], a[1])
print('\nAutomatic SELECT Generation\n')

user = Table('authors')
select = user.select(limit = 10)
print(select)
print(tuple(select))
cu.execute(*select)
authors = cu.fetchall()
if not authors:
    print('No authors')
    sys.exit()
for a in authors:
    print('Authors', a[0], a[1])

##################################

c:\programs\apps\pyw "e2.py"
Manual SELECT Generation

Authors 1 Dafydd ab Hugh
Authors 2 Robert Asprin
Authors 3 Poul Anderson
Authors 4 Piers Anthony
Authors 5 Isaac Asimov
Authors 127348 Valérie Delille
Authors 6 Alfred Bester
Authors 7 James Blish
Authors 8 David Brin
Authors 9 Greg Bear

Automatic SELECT Generation

SELECT * FROM "authors" AS "a" LIMIT 10
('SELECT * FROM "authors" AS "a" LIMIT 10', ())
Traceback (most recent call last):
  File "C:\Programs\python38\lib\site-packages\mysql\connector\connection_cext.py", line 516, in cmd_query
    self._cmysql.query(query,
_mysql_connector.MySQLInterfaceError: 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 '"authors" AS "a" LIMIT 10' at line 1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "e2.py", line 30, in <module>
    cu.execute(*select)
  File "C:\Programs\python38\lib\site-packages\mysql\connector\cursor_cext.py", line 269, in execute
    result = self._cnx.cmd_query(stmt, raw=self._raw,
  File "C:\Programs\python38\lib\site-packages\mysql\connector\connection_cext.py", line 521, in cmd_query
    raise errors.get_mysql_exception(exc.errno, msg=exc.msg,
mysql.connector.errors.ProgrammingError: 1064 (42000): 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 '"authors" AS "a" LIMIT 10' at line 1
>Exit code: 1
_

#######################################
Satu-satunya perbedaan antara dua perintah terpilih adalah tanda kutip ganda di sekitar nama
Saya tidak mengerti apa yang saya lakukan, Jadi bantuan apa pun diterima dengan penuh syukur
Saya terjebak dengan mysql karena itulah yang digunakan isfdb
Yohanes

Jika Anda telah menggunakan WordPress untuk sementara waktu, Anda mungkin telah memutuskan untuk masuk ke manajemen basis data yang lebih canggih. Ini sering melibatkan penggunaan baris perintah MySQL, yang pada gilirannya dapat menyebabkan masalah yang membingungkan seperti kesalahan MySQL 1064

Untungnya, sementara menyelesaikan kesalahan ini dapat membingungkan pada awalnya karena banyak kemungkinan penyebabnya, solusinya cenderung relatif sederhana. Setelah Anda menentukan alasan di balik kesalahan database yang Anda lihat, Anda seharusnya dapat memperbaikinya dengan cukup cepat

Dalam posting ini, kami akan membahas berbagai kemungkinan penyebab kesalahan MySQL 1064. Kemudian kami akan membagikan solusi untuk setiap situasi umum, untuk membantu Anda membuat database dan situs Anda kembali aktif dan berjalan

Mari kita mulai

Mengapa Terjadi Error MySQL 1064

Kesalahan MySQL 1064 adalah kesalahan sintaksis. Ini berarti alasan mengapa ada masalah adalah karena MySQL tidak mengerti apa yang Anda minta. Namun, ada banyak situasi berbeda yang dapat menyebabkan jenis miskomunikasi antara Anda dan database Anda

Penyebab paling sederhana adalah Anda melakukan kesalahan saat mengetik perintah dan MySQL tidak dapat memahami permintaan Anda. Alternatifnya, Anda mungkin mencoba menggunakan perintah usang atau bahkan usang yang tidak dapat dibaca

Dalam kasus lain, Anda mungkin mencoba memasukkan 'kata cadangan' di salah satu perintah Anda. Kata-kata yang dicadangkan adalah istilah yang hanya dapat digunakan dalam konteks tertentu di MySQL. Jika Anda mencoba menggunakannya dengan cara lain, Anda akan menghadapi kesalahan

Lihat bagaimana Kinsta menghadapi persaingan. Membandingkan

Mungkin juga ada beberapa data yang hilang dari basis data Anda. Saat Anda membuat permintaan melalui MySQL yang mereferensikan data yang tidak seharusnya, Anda juga akan melihat kesalahan 1064. Terakhir, mentransfer database WordPress Anda ke server lain juga dapat menyebabkan masalah yang sama

Seperti yang Anda lihat, ada banyak penyebab potensial untuk masalah ini, yang membuatnya sulit untuk diselesaikan. Kecuali jika Anda sedang dalam proses memindahkan database atau mengambil beberapa tindakan lain yang mengarah ke penyebab tertentu, Anda mungkin perlu mencoba beberapa solusi berbeda sebelum memilih solusi yang tepat. Untungnya, tidak ada yang terlalu sulit untuk dieksekusi, seperti yang akan kita lihat selanjutnya

Oh tidak, Anda mendapatkan Kesalahan MySQL 1064. 😭 Jangan putus asa. Berikut adalah 5 solusi yang terbukti untuk segera memperbaikinya 🙏Klik untuk menge-Tweet

Cara Memperbaiki Error MySQL 1064 (5 Metode)

Jika Anda sudah memiliki gagasan tentang apa yang menyebabkan kesalahan MySQL 1064 Anda, Anda dapat langsung melompat ke resolusi untuk situasi khusus Anda. Namun, jika Anda tidak yakin mengapa kesalahan terjadi, strategi paling sederhana adalah mencoba solusi termudah terlebih dahulu

Dalam hal ini, kami sarankan untuk menguji lima kemungkinan perbaikan dalam urutan berikut

1. Benar Perintah Salah ketik

Hal yang baik tentang kesalahan ketik MySQL adalah bahwa itu adalah penjelasan paling sederhana untuk masalah sintaksis seperti kesalahan 1064. Sayangnya, mereka juga bisa menjadi yang paling membosankan untuk diperbaiki. Secara umum, opsi terbaik Anda adalah mengoreksi kode Anda secara manual dan mencari kesalahan yang mungkin Anda buat

Kami menyarankan untuk menggunakan Manual MySQL sebagai referensi saat Anda melakukannya, periksa kembali apa pun yang Anda tidak yakin. Seperti yang Anda bayangkan, ini bisa sangat memakan waktu, terutama jika Anda telah bekerja di baris perintah MySQL untuk sementara waktu atau jika Anda baru dalam tugas ini.

Alternatif untuk memeriksa pekerjaan Anda secara manual adalah dengan menggunakan alat seperti EverSQL

Kesalahan konektor mysql programmingerror 1064 (42000): Anda memiliki kesalahan dalam sintaks sql Anda
Pemeriksa sintaks EverSQL

Dengan solusi ini, Anda cukup memasukkan MySQL Anda untuk memeriksa kesalahan secara otomatis. Namun, perlu diingat bahwa platform ini tidak selalu sempurna dan Anda mungkin masih ingin memvalidasi hasilnya sendiri

Terapkan aplikasi Anda ke Kinsta - Mulai dengan Kredit $20 sekarang

Jalankan Node Anda. Aplikasi js, Python, Go, PHP, Ruby, Java, dan Scala, (atau hampir apa pun jika Anda menggunakan Dockerfile kustom Anda sendiri), dalam tiga langkah mudah

Terapkan sekarang dan dapatkan diskon $20

2. Ganti Perintah Usang

Saat platform tumbuh dan berubah, beberapa perintah yang berguna di masa lalu diganti dengan perintah yang lebih efisien. MySQL tidak terkecuali. Jika Anda sedang mengerjakan database Anda mengikuti pembaruan terkini atau telah mereferensikan sumber yang sudah usang selama pekerjaan Anda, mungkin satu atau lebih dari perintah Anda tidak lagi valid

Anda dapat memeriksa untuk melihat apakah ini masalahnya menggunakan Manual Referensi MySQL. Anda akan menemukan penyebutan perintah yang telah dibuat usang oleh setiap versi MySQL di bagian yang relevan

Kesalahan konektor mysql programmingerror 1064 (42000): Anda memiliki kesalahan dalam sintaks sql Anda
Menghapus perintah usang secara manual

Setelah Anda menentukan perintah mana yang mungkin menyebabkan masalah, Anda cukup menggunakan fungsi 'temukan dan ganti' untuk menghapus perintah usang dan menambahkan versi baru. Misalnya, jika Anda menggunakan storage_engine dan ternyata tidak lagi berfungsi, Anda cukup mengganti semua instance dengan perintah default_storage_engine yang baru

3. Tentukan Kata-kata yang Dicadangkan

Di MySQL, menggunakan kata yang dicadangkan di luar konteks akan menghasilkan kesalahan sintaksis, karena akan ditafsirkan sebagai salah. Namun, Anda masih dapat menggunakan kata-kata yang dicadangkan sesuka Anda dengan memasukkannya ke dalam backticks, seperti ini. `select`_

Setiap versi MySQL memiliki kata-kata tersendiri, yang dapat Anda baca di Manual Referensi MySQL. Pencarian dan penggantian cepat akan memungkinkan Anda untuk menyelesaikan masalah ini jika menurut Anda hal itu dapat menyebabkan kesalahan 1064 Anda

Berjuang dengan downtime dan masalah WordPress? . Lihat rencana kami

4. Tambahkan Data yang Hilang

Jika kueri MySQL terbaru Anda mencoba mereferensikan informasi dalam database dan tidak dapat menemukannya, Anda jelas akan mengalami masalah. Jika tidak ada solusi sebelumnya yang menyelesaikan kesalahan MySQL 1064 Anda, mungkin sudah waktunya untuk mencari data yang hilang

Sayangnya, ini adalah solusi lain yang cukup membosankan dan harus dilakukan dengan tangan. Hal terbaik yang dapat Anda lakukan dalam situasi ini adalah bekerja mundur, dimulai dengan kueri terbaru Anda. Periksa setiap basis data yang dirujuknya, dan pastikan semua informasi yang benar ada. Kemudian lanjutkan ke kueri terbaru berikutnya, hingga Anda menemukan kueri yang kehilangan beberapa data

5. Gunakan Mode Kompatibilitas untuk Mentransfer Database WordPress

Solusi kesalahan 1064 terakhir ini tidak semudah yang lain di daftar kami. Namun, jika Anda memigrasikan situs WordPress Anda ke host baru atau memindahkannya ke server lain, Anda perlu mengambil langkah ekstra untuk menghindari masalah dengan database Anda.

Solusi paling sederhana adalah dengan menggunakan plugin migrasi yang menyertakan mode kompatibilitas, seperti

Kesalahan konektor mysql programmingerror 1064 (42000): Anda memiliki kesalahan dalam sintaks sql Anda
Plugin WP Migrasi DB WordPress

Ini akan mengaktifkan fitur deteksi otomatis yang akan memastikan cadangan situs dan basis data terbaru Anda kompatibel dengan beberapa versi MySQL. Anda dapat mengakses pengaturan mode kompatibilitas dengan menavigasi ke Tools > Migrate DB > Advanced Options

Kesalahan konektor mysql programmingerror 1064 (42000): Anda memiliki kesalahan dalam sintaks sql Anda
Pengaturan WP Migrasi DB

Centang kotak di sebelah Kompatibel dengan versi MySQL yang lebih lama sebelum memulai migrasi situs Anda. Dengan cara ini, Anda harus dapat menghindari masalah apa pun selama proses berlangsung

Info

Semua paket Kinsta menampilkan pengoptimalan basis data MySQL otomatis mingguan untuk memastikan kinerja basis data yang lebih baik. Lagi. Kinsta menyediakan migrasi situs tak terbatas gratis dari host terpilih

Ringkasan

Kesalahan basis data dapat merusak rencana Anda, dan bahkan dapat membahayakan stabilitas situs web Anda. Mengetahui cara mengatasi masalah seperti kesalahan MySQL 1064 dapat membantu Anda bereaksi dengan cepat, dan meminimalkan waktu henti di situs Anda

Ada lima metode yang dapat Anda coba untuk memperbaiki kesalahan MySQL 1064 saat Anda menemukannya, tergantung pada kemungkinan penyebabnya

  1. Memperbaiki perintah yang salah ketik
  2. Ganti perintah yang sudah usang
  3. Tentukan kata-kata yang dipesan
  4. Tambahkan data yang hilang
  5. Transfer database WordPress dalam mode kompatibilitas


Dapatkan semua aplikasi, database, dan situs WordPress Anda secara online dan dalam satu atap. Platform cloud kami yang penuh fitur dan berkinerja tinggi mencakup

  • Pengaturan dan pengelolaan yang mudah di dasbor MyKinsta
  • Dukungan pakar 24/7
  • Perangkat keras dan jaringan Google Cloud Platform terbaik, didukung oleh Kubernetes untuk skalabilitas maksimum
  • Integrasi Cloudflare tingkat perusahaan untuk kecepatan dan keamanan
  • Jangkauan audiens global dengan hingga 35 pusat data dan 275+ PoP di seluruh dunia

Uji sendiri dengan diskon $20 untuk bulan pertama Hosting Aplikasi atau Hosting Basis Data. Jelajahi paket kami atau hubungi bagian penjualan untuk menemukan yang paling cocok untuk Anda

Bagaimana cara memperbaiki kesalahan 1064 42000?

Ada lima metode yang dapat Anda coba untuk memperbaiki kesalahan MySQL 1064 saat Anda menemukannya, bergantung pada kemungkinan penyebabnya. .
Memperbaiki perintah yang salah ketik
Ganti perintah yang sudah usang
Tentukan kata-kata yang dipesan
Tambahkan data yang hilang
Transfer database WordPress dalam mode kompatibilitas

Apa itu kesalahan 1064 di MySQL?

Kesalahan 1064 ditampilkan setiap kali Anda memiliki masalah dengan sintaks SQL Anda, dan seringkali karena penggunaan kata-kata yang dicadangkan, data yang hilang dalam database, atau perintah yang salah ketik/usang

Bagaimana saya bisa menginstal konektor MySQL?

Menginstal Connector/Python dari sumber .
Kompiler C/C++, seperti gcc
Protobuf C++ (versi >= 3. 6. .
File pengembangan Python
MySQL Connector/C atau MySQL Server diinstal, termasuk file pengembangan untuk mengkompilasi Ekstensi C opsional yang berinteraksi dengan pustaka klien MySQL C

Bagaimana cara mendapatkan konektor MySQL dengan Python?

Instal Driver MySQL . Dalam tutorial ini kita akan menggunakan driver "MySQL Connector". Kami menyarankan Anda menggunakan PIP untuk menginstal "MySQL Connector" . PIP kemungkinan besar sudah terpasang di lingkungan Python Anda.