I have a table called person in my database. I want to add another column to the same table and it's a Boolean datatype column. I have tried following queries but it says syntax error near default. I know this is a common and there are lot of answers. I have tried many of them and couldn't figure out to make it work. So please help me.
queries I have tried
ALTER TABLE person add column "AdminApproved" BOOLEAN SET default FALSE; ALTER TABLE person alter column "AdminApproved" BOOLEAN SET default FALSE; I have tried without SET key word too.
ALTER TABLE table_name ALTER COLUMN col_name SET NOT NULL; Or you can put them all together in a single statement: ALTER TABLE table_name ADD COLUMN “col_name” BOOLEAN DEFAULT FALSE; This way it might take longer if the operation is huge.
You can insert a boolean value using the INSERT statement: INSERT INTO testbool (sometext, is_checked) VALUES ('a', TRUE); INSERT INTO testbool (sometext, is_checked) VALUES ('b', FALSE); When you select a boolean value, it is displayed as either 't' or 'f'.
You will get the following output where the true and false literal gets converted into 0 and 1 value. Since MySQL always use TINYINT as Boolean, we can also insert any integer values into the Boolean column. Execute the following statement: Mysql> INSERT INTO student(name, pass) VALUES('Miller',2);
Syntax. The basic syntax of an ALTER TABLE command to add a New Column in an existing table is as follows. ALTER TABLE table_name ADD column_name datatype; The basic syntax of an ALTER TABLE command to DROP COLUMN in an existing table is as follows.
In SQL SERVER it is BIT, though it allows NULL to be stored
ALTER TABLE person add [AdminApproved] BIT default 'FALSE'; Also there are other mistakes in your query
When you alter a table to add column no need to mention column keyword in alter statement
For adding default constraint no need to use SET keyword
Default value for a BIT column can be ('TRUE' or '1') / ('FALSE' or 0). TRUE or FALSE needs to mentioned as string not as Identifier
The answer given by Pரதீப் creates a nullable bool, not a bool, which may be fine for you. For example in C# it would create: bool? AdminApprovednot bool AdminApproved.
If you need to create a bool (defaulting to false):
ALTER TABLE person ADD AdminApproved BIT DEFAULT 0 NOT NULL;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With