Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Membetulkan Isu Kepekaan Kes dengan Jadual yang Diimport dalam PostgreSQL?
Dalam PostgreSQL, pengendalian sensitiviti huruf besar boleh menyebabkan kekeliruan apabila mengimport jadual daripada sistem pangkalan data lain (seperti MSSQL Server 2008). Apabila mencipta jadual dan lajur dalam PostgreSQL, nama yang tidak disebut tidak sensitif huruf besar-besaran, manakala nama yang disebut adalah sensitif huruf besar-kecil.
Walau bagaimanapun, apabila mengimport jadual daripada MSSQL Server, alat import boleh mencipta nama jadual dan lajur dalam semua huruf besar, menghasilkan nama sensitif huruf besar-kecil. Ini mungkin menyebabkan ralat semasa cuba mengakses jadual ini, kerana ketidakpekaan huruf lalai Postgres mungkin tidak mengenali nama huruf besar.
Sebagai contoh, jika anda cuba mencipta paparan data pada jadual bernama "STD_TYPE_CODES" menggunakan pertanyaan berikut:
<code class="language-sql">select * from STD_TYPE_CODES</code>
Anda mungkin menerima ralat yang menunjukkan bahawa hubungan 'std_type_codes' tidak wujud. Ini kerana Postgres secara automatik menukar nama jadual yang tidak disebut kepada huruf kecil, menyebabkan ketidakpadanan antara nama jadual "STD_TYPE_CODES" yang dijangka dan "std_type_codes" sebenar yang dibuat semasa proses import.
Untuk menyelesaikan masalah ini, anda boleh memilih dua kaedah berikut:
<code class="language-sql">select * from "STD_TYPE_CODES"</code>
<code class="language-sql">ALTER TABLE "FOO" RENAME TO "foo"</code>
Dengan menukar nama jadual kepada huruf kecil, anda memastikan keserasian dengan tingkah laku tidak sensitif huruf lalai Postgres. Sebagai alternatif, anda boleh mengubah suai fail dump daripada MSSQL untuk menjadikannya serasi dengan Postgres dengan menggantikan semua nama petikan huruf besar dengan nama petikan huruf kecil.
Untuk mengelakkan masalah yang sama pada masa hadapan, adalah disyorkan untuk menggunakan nama yang tidak disebut atau nama petikan huruf kecil semasa membuat jadual dan objek lain dalam PostgreSQL. Ini akan memastikan bahawa sensitiviti kes nama tidak menjejaskan kebolehcapaian data.
Atas ialah kandungan terperinci Bagaimanakah Saya Membetulkan Isu Kepekaan Kes dengan Jadual yang Diimport dalam PostgreSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!