English 中文(简体)
Should I use 0/1 or True/False boolean? [duplicate]
原标题:

0/1 can be flexible and can add options such as "2, 3, 4" in the future.

Does TINYINT in MySQL take up more space than boolean?

Personally, I use 0 and 1 for everything.

You can answer this question in the context of regular programming (or MySQL, whichever you like).

最佳回答

Any good database system worth its salt will convert boolean to and from something appropriate for the database, and using an actual boolean type makes programming against it much nicer.

问题回答

Boolean is more portable across different databases (e.g. PostgreSQL). Tinyint is more flexible, can be upgraded to something Enum-like.

The final choice should be yours. But anywhere except SQL I would definitely recommend explicit Booleans/Enums over "magic numbers", for clarity and type safety.

When I am absolutely sure that I will need true/false for a value, I will use the boolean type in my code. For other cases, often starting with 0/1 is convenient because 0 can act as a return code for success and any other positive or negative integers can define various error conditions.

If you re making a true/false decision in any language, if your language supports boolean, use it.

Using 0/1 to support the "extra numbers" probably means your field is not a decision, and may be or become multiple choices.





相关问题
SQL SubQuery getting particular column

I noticed that there were some threads with similar questions, and I did look through them but did not really get a convincing answer. Here s my question: The subquery below returns a Table with 3 ...

please can anyone check this while loop and if condition

<?php $con=mysql_connect("localhost","mts","mts"); if(!con) { die( unable to connect . mysql_error()); } mysql_select_db("mts",$con); /* date_default_timezone_set ("Asia/Calcutta"); $date = ...

php return a specific row from query

Is it possible in php to return a specific row of data from a mysql query? None of the fetch statements that I ve found return a 2 dimensional array to access specific rows. I want to be able to ...

Character Encodings in PHP and MySQL

Our website was developed with a meta tag set to... <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> This works fine for M-dashes and special quotes, etc. However, I ...

Pagination Strategies for Complex (slow) Datasets

What are some of the strategies being used for pagination of data sets that involve complex queries? count(*) takes ~1.5 sec so we don t want to hit the DB for every page view. Currently there are ~...

Averaging a total in mySQL

My table looks like person_id | car_id | miles ------------------------------ 1 | 1 | 100 1 | 2 | 200 2 | 3 | 1000 2 | 4 | 500 I need to ...

热门标签