Why Does This Alter Table Query Throw Syntax Error?

This is the query I'm using:

ALTER TABLE apartment ADD technical TEXT NOT NULL AFTER is_sale

Why does it produce a syntax error?

EDIT:

ALTER TABLE apartment ADD COLUMN technical TEXT NOT NULL AFTER is_sale still produces an error:

Error: (1064) 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 'ALTER TABLE andreevka_apartment ADD COLUMN technincal TEXT NOT NULL AFTER' at line 1

Also doesn't validate:

2

5 Answers

It actually turned out that my query was copy-pasted from PhpMyAdmin and had some encoding issues. I pasted it into Notepad++, converted it to ANSI and it worked. Weird.

The syntax was perfectly fine.

You have a syntax error, to add column you should use COLUMN in sentence

ALTER TABLE apartment ADD COLUMN technical TEXT NOT NULL

EDITED

I think you cannot use AFTER with ALTER because it won't care of column order, it does not matter for storage or querying.

2

ALTER TABLE apartment ADD technical TEXT NOT NULL AFTER is_sale is working fine and I tested it.I use HeidiSQL as client.Here no need of ADD COLUMN.check whether is_sale name is correct or apartment name is correct

use ADD COLUMN for adding new column

ALTER TABLE apartment ADD COLUMN technical TEXT NOT NULL AFTER is_sale

Not sure it's allowed in MySQL, but in Oracle there's another syntax as well:

ALTER TABLE apartment ADD (technical TEXT NOT NULL AFTER is_sale);

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Elena Rostova

Elena Rostova

Lead Health, Wellness & Medical Journalist

Elena Rostova holds a Master's degree in Public Health Journalism. She covers groundbreaking medical research, holistic wellness trends, mental health awareness, and nutritional science.

Share this article
Twitter Facebook Pinterest