Saya menjalankan Drupal di MariaDB 5.5.33. Ketika saya menjalankan update.php (setelah memutakhirkan ke Drupal 7.28 dari Drupal 6) saya mendapatkan kesalahan:
Gagal: PDOException: SQLSTATE [42S02]: Tabel dasar atau tampilan tidak ditemukan: 1146 Tabel 'webdb.location_country' tidak ada: CREATE TABLE {location_country} (
code
CHAR (2) NOT NULL KOMENTAR 'Kunci Utama: Dua huruf ISO Kode Negara: Dua huruf ISO Kode Negara ',name
VARCHAR (255) BUKAN NULL DEFAULT' 'KOMENTAR' Nama Negara Lengkap ', KUNCI UTAMA (code
)) ENGINE = InnoDB KARAKTER DEFAULT SET utf8 KOMENTAR' Data negara dikelola oleh location.module. '; Array () indb_create_table () (baris 2720 dari /home/web/public_html/includes/database/database.inc).
Ketika saya mencoba menjalankan perintah
CREATE TABLE {location_country} (
code
CHAR (2) BUKAN KOMENTAR 'Kunci Utama: Dua huruf ISO Kode Negara',name
VARCHAR (255) BUKAN NULL DEFAULT '' KOMENTAR 'Nama Negara Lengkap', KUNCI UTAMA (code
)) ENGINE = InnoDB DEFAULT CHARACTER SET utf8 KOMENTAR 'Data negara dikelola oleh location.module.';
di phpMyAdmin saya mendapatkan kesalahan
# 1064 - Anda memiliki kesalahan dalam sintaks SQL Anda; periksa manual yang sesuai dengan versi server MariaDB Anda untuk sintaks yang tepat untuk digunakan di dekat '{location_country} (
code
CHAR (2) BUKAN KOMENTAR' Kunci Utama: Dua huruf IS 'di baris 1
Tapi saya tidak bisa mencari tahu di mana masalahnya.
Karena orang lain menjawab (termasuk yang sama sekali tidak terkait dengan mesin InnoDB) untuk pertanyaan tentang PDOException ini ditandai sebagai duplikat dan pengalihan untuk yang ini, saya kira ini adalah tempat kanonik untuk jawaban tentang masalah ini.
Saya telah menemukan ini beberapa kali ketika menghapus modul, dan tabel mencari tidak ada di situs (karena telah dihapus secara tidak sengaja, karena ada kesalahan ketik dalam definisi skema di
.install
, atau karena alasan lain).Cara paling sederhana untuk memperbaikinya adalah dengan menjalankan skrip pembaruan basis data (
update.php
) secara manual.Setelah situs Anda dihidupkan kembali, Anda harus mencoba mencari tahu akar penyebab masalahnya dan memperbaikinya.
sumber
Anda harus menghapus kurung kurawal di sekitar nama tabel saat menggunakan sebagai SQL mentah.
misalnya:
sumber
Ini adalah pesan kesalahan yang sama ketika menjalankan Drupal 7 dari satu situs pengembangan ke situs pengembangan lain di laptop saya. Setelah memeriksa tabel dalam database Drupal saya menemukan bahwa dump sql lengkap tidak diimpor (menggunakan Admin dan opsi "Dari server", adminer.sql).
Cari tabel database Drupal 7 yang mendekati akhir dump SQL secara alfabet seperti: pengguna * , tampilan * , formulir web * , meja kerja * , xmlsitemap * untuk melihat apakah semuanya diimpor.
Saya biasa
drush sql-cli < database.sql
mengimpor dump sql ke dalam database Drupal setelah menjatuhkan semua tabel databasedrush sql-drop
.sumber