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

Kolom tidak dikenal dalam daftar bidang

Itu karena

. Anda
VALUES (%s,%s)

tidak mengelilingi isi variabel nama dan keluarga dengan tanda kutip. Oleh karena itu, mesin Sql back-end Anda menganggap mohsen Anda adalah nama kolom, bukan nilai.

Sebagai gantinya, gunakan, mis.

VALUES (''%s'',''%s'')

seperti dalam

  Namee := 'mohsen';
  Family := 'dolatshah';
  aSQLText:= 'INSERT INTO b_tbl(Name,Family) VALUES (''%s'',''%s'')';
  aSQLCommand := Format(aSQLText,[namee,family]);

Dalam versi asli jawaban saya, saya menjelaskan cara memperbaiki masalah Anda dengan "menggandakan" tanda kutip tunggal di Sql yang Anda coba buat, karena bagi saya Anda mengalami kesulitan melihat (secara harfiah) apa yang salah dengan apa yang Anda lakukan.

Cara alternatif (dan lebih baik) untuk menghindari masalah Anda (dan yang selalu saya gunakan dalam kehidupan nyata) adalah dengan menggunakan QuotedStr() fungsi. Kode yang sama kemudian akan menjadi

aSQLText := 'INSERT INTO b_tbl (Name, Family) VALUES (%s, %s)'; 
aSQLCommand := Format(aSQLText, [QuotedStr(namee), QuotedStr(family)]);

Menurut Bantuan Online:

Apa yang dimaksud dengan "berulang" adalah apa yang saya sebut sebagai "menggandakan". Mengapa itu penting, dan alasan utama saya menggunakan QuotedStr adalah untuk menghindari kesalahan mesin db Sql ketika nilai yang ingin Anda kirim berisi karakter kutipan tunggal seperti di O'Reilly .

Coba tambahkan baris yang berisi nama itu ke tabel Anda menggunakan MySql Workbench dan Anda akan mengerti maksud saya.

Jadi, penggunaan QuotedStr tidak hanya membuat pembuatan pernyataan SQL sebagai string dalam kode Delphi kurang rawan kesalahan, tetapi juga menghindari masalah di back-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. log4net logging error di database mysql logging

  2. pencarian kata kunci mysql

  3. Mengatur zona waktu default di Server MySql melalui PhPMyAdmin

  4. Gabungkan string dengan nilai bidang di MySQL

  5. Bagaimana cara menyimpan data XML ke dalam database mysql? Saya tidak ingin kunci asing seperti orang gila