ডিফল্ট মান হিসাবে মিথ্যা দিয়ে মাইএসকিউএল এ বুলিয়ান কলাম তৈরি করবেন?


127

আমি মাইএসকিউএলে একটি booleanকলাম দিয়ে একটি টেবিল তৈরি করতে চাই যার ডিফল্ট মান false। তবে এটি নুলকে ডিফল্ট হিসাবে গ্রহণ করছে ...

উত্তর:


202

আপনাকে ডিফল্ট হিসাবে 0(অর্থ মিথ্যা) বা 1(অর্থ সত্য) নির্দিষ্ট করতে হবে । এখানে একটি উদাহরণ:

create table mytable (
     mybool boolean not null default 0
);

এফওয়াইআই: এটির booleanজন্য একটি নাম tinyint(1)।

প্রমাণ এখানে:

mysql> create table mytable (
    ->          mybool boolean not null default 0
    ->     );
Query OK, 0 rows affected (0.35 sec)

mysql> insert into mytable () values ();
Query OK, 1 row affected (0.00 sec)

mysql> select * from mytable;
+--------+
| mybool |
+--------+
|      0 |
+--------+
1 row in set (0.00 sec)

এফওয়াইআই: আমার পরীক্ষাটি মাইএসকিউএলের নিম্নলিখিত সংস্করণে করা হয়েছিল:

mysql> select version();
+----------------+
| version()      |
+----------------+
| 5.0.18-max-log |
+----------------+
1 row in set (0.00 sec)

2
নাকি তা করে? শেল স্ক্রিপ্টে 0 এর অর্থ সফল বা 'সত্য' হতে পারে। মাইএসকিউএল আসলে 'সত্য' এবং 'মিথ্যা' ফিরিয়ে দিলে ভাল লাগবে যাতে মানটির অর্থ কী তা সিদ্ধান্ত নেওয়ার ক্ষেত্রে আমাদের কোডের উপর নির্ভর করতে না হয়।
— ইনস্টল করুন মনিকা-ডোর ডু

3
ঘটনাচক্রে, যেহেতু বুলিয়ান একটি টিনিনেন্ট (1) এর একটি উপনাম, এর অর্থ আপনি বুলিয়ানগুলি 0 এবং 1 বাদে অন্য সংখ্যায় সেট করতে পারেন এবং এটি অভিযোগ করবে না! যার অর্থ আপনি যদি দুর্ঘটনাক্রমে ক্ষেত্রটি বৃদ্ধি বা হ্রাস করেন তবে আপনি আপনার ডেটা গোলযোগ করতে পারেন! : -আমি পরিবর্তে একটি ENUM ক্ষেত্র ব্যবহার করার পরামর্শ দেব।
— ইনস্টল করুন মনিকা-ডোর ডু

3
"সফল" এবং "সত্য" সম্পূর্ণরূপে অর্থেগোনাল জিনিস। ত্রুটি কোডগুলি বুলিয়ান নয়।
— ম্যাথু

14

মাইএসকিউএল এ এনইউএম ব্যবহার করুন সত্য / মিথ্যা এটি কোনও অতিরিক্ত কোড ছাড়াই সত্য / মিথ্যা মান দেয় এবং গ্রহণ করে।

ALTER TABLE `itemcategory` ADD `aaa` ENUM('false', 'true') NOT NULL DEFAULT 'false'

11

আপনি তৈরির সময় একটি ডিফল্ট মান সেট করতে পারেন:

CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
Married boolean DEFAULT false);

1

যদি আপনি বুলিয়ান কলামটি শূন্য না করে তৈরি করে থাকেন তবে ডিফল্ট 'ডিফল্ট' মানটি মিথ্যা; আপনি এটি স্পষ্টভাবে নির্দিষ্ট করতে হবে না।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.