At 4:00 7/27/04, Paul DuBois wrote:
>
>At 16:22 -0500 7/26/04, Ghate, Shishir wrote:
>>I looked at the SHOW COLUMNS statement and they have what I want, 
>>but I need to condition off them.  For example, I don't want to 
>>execute an ALTER TABLE command to add a column if that column is 
>>already there.  I've tried IF DOES NOT EXIST SHOW COLUMN ... 
>>followed by the ALTER TABLE command, but the if check doesn't seem 
>>to work on SHOW COLUMNS.
>>
>>Am I missing something, or is this just something that is not supported?
>
>You can process the output of SHOW COLUMNS in your application language
>and use the result to construct the ALTER TABLE statement.
>
>I assume that you're using some kind of programming API to access MySQL
>here.  If you're asking "is this supported using SQL alone?" the
>answer is no.

Any chance 'IF EXISTS' being added to the 'ALTER TABLE' statements? 
It sure would be nice to execute something like:

ALTER TABLE tmp ADD INDEX joy ( to, the, world ) IF EXISTS;

This seems much more elegant than (pseudo code):
$NewIndexName = "joy";
$Results = run_query( "show index from tmp" );
$FoundIndex = 0;
while ( $Results.hasNext() )
{
   $IndexName = $Results.getString( 3 );
   if ( $IndexName == $NewIndexName )
   {
      $FoundIndex = 1;
   }
}

if ( ! $FoundIndex )
{
   run_update( "alter table tmp add index joy( to, the, world );
}

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

Reply via email to