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


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.