Re: ERROR 1064 (42000): You have an error in your SQL syntax;

2006-06-07 Thread Chris Sansom

At 0:09 +1000 8/6/06, Mark Sargent wrote:

ALTER TABLE t2 MODIFY a TINYINT NOT NULL, CHANGE b c CHAR(20);

for changing the name of a column, right? So, why doesn't the below work?

mysql ALTER TABLE actors CHANGE director_id actor_id;


I'm no great expert myself, but off the top of my head, maybe you 
need to specify the type even if it's unchanged (I assume all you 
want to do is rename the column?). So supposing director_id was a 
SMALLINT(3) UNSIGNED, try:


ALTER TABLE actors CHANGE director_id actor_id SMALLINT(3) UNSIGNED;

Any good?

--
Cheers... Chris
Highway 57 Web Development -- http://highway57.co.uk/

If at first you don't succeed, try, try again.
Then quit. No use being a damn fool about it.
   -- W.C. Fields

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]



re: ERROR 1064 (42000): You have an error in your SQL syntax;

2006-06-07 Thread Rob Desbois
Mark,
With the CHANGE clause of ALTER TABLE statement, you must provide the column 
definition, so something like this is what you need:
   ALTER TABLE actors CHANGE director_id actor_id MEDIUMINT UNSIGNED NOT NULL;
or whatever your original definition is.

AFAIK there is no way to rename a column without giving the column type.
--Rob

 Hi All,

gee I really hate bugging you all for this. I looked at this page,

http://dev.mysql.com/doc/refman/5.0/en/alter-table.html

which has this,

To change column |a| from |INTEGER| to |TINYINT NOT NULL| (leaving the 
name the same), and to change column |b| from |CHAR(10)| to |CHAR(20)| 
as well as renaming it from |b| to |c|:

ALTER TABLE t2 MODIFY a TINYINT NOT NULL, CHANGE b c CHAR(20);


for changing the name of a column, right? So, why doesn't the below work?

mysql ALTER TABLE actors CHANGE director_id actor_id;

I get this,

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 '' at line 1

Sorry, little confused right about now, eh. Cheers.

Mark Sargent.


-- 

MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]


__
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email 
__




-- Original Message --

FROM:  Mark Sargent [EMAIL PROTECTED]
TO:mysql@lists.mysql.com
DATE:  Thu, 08 Jun 2006 00:09:45 +1000

SUBJECT:   ERROR 1064 (42000): You have an error in your SQL syntax;

Hi All,

gee I really hate bugging you all for this. I looked at this page,

http://dev.mysql.com/doc/refman/5.0/en/alter-table.html

which has this,

To change column |a| from |INTEGER| to |TINYINT NOT NULL| (leaving the 
name the same), and to change column |b| from |CHAR(10)| to |CHAR(20)| 
as well as renaming it from |b| to |c|:

ALTER TABLE t2 MODIFY a TINYINT NOT NULL, CHANGE b c CHAR(20);


for changing the name of a column, right? So, why doesn't the below work?

mysql ALTER TABLE actors CHANGE director_id actor_id;

I get this,

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 '' at line 1

Sorry, little confused right about now, eh. Cheers.

Mark Sargent.


-- 

MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]


__
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email 
__


__
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email 
__

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]



RE: ERROR 1064 (42000): You have an error in your SQL syntax;

2006-06-07 Thread J.R. Bullington
You can't just change the name without changing (or stating) the type.

ALTER TABLE actors CHANGE director_id actos_id varchar(96) default NULL;

J.R.

-Original Message-
From: Mark Sargent [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, June 07, 2006 10:10 AM
To: mysql@lists.mysql.com
Subject: ERROR 1064 (42000): You have an error in your SQL syntax; 

Hi All,

gee I really hate bugging you all for this. I looked at this page,

http://dev.mysql.com/doc/refman/5.0/en/alter-table.html

which has this,

To change column |a| from |INTEGER| to |TINYINT NOT NULL| (leaving the name
the same), and to change column |b| from |CHAR(10)| to |CHAR(20)| as well as
renaming it from |b| to |c|:

ALTER TABLE t2 MODIFY a TINYINT NOT NULL, CHANGE b c CHAR(20);


for changing the name of a column, right? So, why doesn't the below work?

mysql ALTER TABLE actors CHANGE director_id actor_id;

I get this,

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 '' at line 1

Sorry, little confused right about now, eh. Cheers.

Mark Sargent.


--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]



-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]



re: ERROR 1064 (42000): You have an error in your SQL syntax;

2006-06-07 Thread Chris Sansom

At 15:19 +0100 7/6/06, Rob Desbois wrote:
With the CHANGE clause of ALTER TABLE statement, you must provide 
the column definition, so something like this is what you need:

   ALTER TABLE actors CHANGE director_id actor_id MEDIUMINT UNSIGNED NOT NULL;
or whatever your original definition is.


Wow! I was right. I'm learning... :-)

--
Cheers... Chris
Highway 57 Web Development -- http://highway57.co.uk/

If at first you don't succeed, try, try again.
Then quit. No use being a damn fool about it.
   -- W.C. Fields

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]