Tech4Wilco
Tech4Wilco

Reputation: 6808

MySQL alter table command does not work

I am trying to add a column to my existing users table but it does not work. I get:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'unsigned default 0 after users_id' at line 1

Here's my command:

root@localhost:test> alter table users add column users_is_active tinyint(3) not null unsigned default 0 after users_id;

unless I didn't spell "not null" correctly, what am I doing wrong? Thanks

Upvotes: 4

Views: 5270

Answers (2)

Mat
Mat

Reputation: 206689

Move unsigned closer to tinyint:

alter table users 
  add column users_is_active tinyint(3) unsigned not null default 0
  after users_id;

Upvotes: 1

Kusalananda
Kusalananda

Reputation: 15603

alter table users add column users_is_active tinyint(3) not null unsigned default 0 after users_id;

TINYINT(3) UNSIGNED is the type. NOT NULL does not belong between TINYINT(3) and UNSIGNED. Instead say TINYINT(3) UNSIGNED NOT NULL (etc.).

Upvotes: 19

Related Questions