কোনও কলামের নাম থেকে বাঁচার জন্য কি এসকিউএল স্ট্যান্ডার্ড রয়েছে? না হলে মাইএসকিউএল এবং এসকিউএলাইটের জন্য কী কাজ করে? এটি কি এসকিউএল সার্ভারের জন্যও কাজ করে?
উত্তর:
"এসকিউএল: 1999 মানক নির্দিষ্ট করে যে ডাবল উদ্ধৃতি ( ") ( উদ্ধৃতি চিহ্ন ) সীমানা শনাক্তকারী করতে ব্যবহৃত হয়।
<delimited identifier> ::= <double quote> <delimited identifier body> <double quote>
ওরাকল, পোস্টগ্রেএসকিউএল, মাইএসকিউএল, এমএসএসকিউএল এবং এসকিউলাইট "সনাক্তকারী ডিলিমেটার হিসাবে সমস্ত সমর্থন করে।
তারা সবাই "'ডিফল্ট' হিসাবে ব্যবহার করে না । উদাহরণস্বরূপ, যদি আপনি মধ্যে মাইএসকিউএল চলমান করা থাকতে হবে ANSI মোড এবং যখন SQL সার্ভার শুধুমাত্র এটি সমর্থন QUOTED_IDENTIFIERকরা হয় ON।
এসকিউএলাইট অনুসারে ,
'foo' একটি এসকিউএল স্ট্রিং"foo" একটি এসকিউএল সনাক্তকারী (কলাম / টেবিল / ইত্যাদি)[foo] এমএস এসকিউএলে একটি সনাক্তকারী`foo` মাইএসকিউএলে একটি সনাক্তকারীযোগ্য নামের জন্য বাক্য গঠনটি হ'ল: "t"."foo"বা [t].[foo], ইত্যাদি is
MySQL আদর্শ "foo" সমর্থন করে যখন ANSI_QUOTESবিকল্পটি সক্ষম করা হয়।
WHERE "nonexistent_column" = 0করলাম এবং স্ক্লাইটতে স্রেফ খুশিতে এটিকে সম্পাদন করলাম যে ভান করে যে আমার "nonexistent_column"একটি স্ট্রিং ছিল। নামটিকে পুরোপুরিভাবে যোগ্যতার সাথে "my_table"."nonexistent_column"আরও কঠোরভাবে আচরণ করার জন্য স্ক্লাইট করে।
foo, "foo"এবং 'foo'মাইএসকিউএল নিয়ে আমার পক্ষে কাজ করে নি। এটি ব্যাকটিক্স প্রয়োজন। এবং বিষয়টিকে আরও খারাপ করার জন্য, মাইএসকিউএল অকেজো ত্রুটি বার্তা সরবরাহ করছিল ।
মাইএসকিউএল এর জন্য, পিছনে টিক্স ব্যবহার করুন `
এই ক্ষেত্রে:
SELECT `column`, `column2` FROM `table`
এমএস এসকিউএল-এর জন্য [এবং] ব্যবহার করুন
SELECT [COLUMN], [COLUMN 2] FROM [TABLE]
ডিবিএএসই / ডিবিএফ ব্যবহারের জন্য [এবং]
SELECT [DATE], [TIME], [ANY_OTHER_TO_BE_ESCAPED_COLUMN] FROM [TABLE]
কিছু উত্তর একসাথে রাখা:
এমএস এসকিউএল (ওরফে টি-এসকিউএল), মাইক্রোসফ্ট অ্যাক্সেস এসকিউএল, ডিবিএএসই / ডিবিএফ: SELECT [COLUMN], [COLUMN2] FROM [TABLE]
মাইএসকিউএল: SELECT `COLUMN`, `COLUMN2` FROM `TABLE`
এসকিউএলাইট, ওরাকল, পোস্টগ্র্যাস্কিল: SELECT "COLUMN", "COLUMN2" FROM "TABLE"
যোগ / সম্পাদনা করুন!
'foo'সনাক্তকারী হিসাবে ব্যাখ্যা করার অনুমতি দেয় যদি প্রসঙ্গটি কোনও স্ট্রিংকে মঞ্জুরি দেয় না এবং প্রসঙ্গটি যদি সনাক্তকারীকে অনুমতি না দেয় তবে একটি স্ট্রিং"foo"হিসাবে ব্যাখ্যা করা যায়, যদিও এমন একটি নোট রয়েছে যে ভবিষ্যতে এই আচরণটি মুছে ফেলা হতে পারে সংস্করণ।