[TriLUG] MySQL - Alter Table command

Jim Wright wrightjim at gmail.com
Fri Nov 24 16:34:46 EST 2006


Michael Rulison wrote:
> I am trying to catenate two columns from b onto c, making sure that the
> field 'name' is matched before each record is added with the following sql:
> 
> ALTER TABLE cust_extract AS c ADD COLUMN prev_billing_date,
> ADD COLUMN next_billing_date FROM billing AS b WHERE c.name = b.name
> 
> I get this error message:
> 
> #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 'as c add column prev_billing_date
> FROM billing AS b
> WHERE c.name = b.name' at line 1
> 
> With thanks to those with sharper eyes than mine,
> 

I think with what you are trying to do, you need two statements...the 
first to add the columns...

ALTER TABLE cust_extract ADD prev_billing_date DATE NULL,
ADD next_billing_date DATE NULL;

The next to update the data to match the billing table...

UPDATE cust_extract
SET cust_extract.prev_billing_date = billing.prev_billing_date,
cust_extract.next_billing_date = billing.next_billing_date
FROM cust_extract INNER JOIN billing ON cust_extract.name = billing.name;

Or something like that...I think that will work with MySQL, I'm more 
familiar with the details of syntax in SQL Server.




More information about the TriLUG mailing list