sql >> Databasteknik >  >> RDS >> Mysql

Hur kan jag kontrollera om mysql-tabellkolumnen ens existerar?

I PHP:

$fields = mysql_list_fields('database_name', 'table_name');
$columns = mysql_num_fields($fields);
for ($i = 0; $i < $columns; $i++) {$field_array[] = mysql_field_name($fields, $i);}

if (!in_array('price', $field_array))
{
$result = mysql_query('ALTER TABLE table_name ADD price VARCHAR(10)');
}

Detta bör också hjälpa dig:

IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = ‘TEST’ AND COLUMN_NAME = ‘TEST_DATE’)
BEGIN
  ALTER TABLE TEST ADD TEST_DATE DATETIME
END

Eller så kan du göra:

Show columns from table like 'string';

Det har ställts en liknande fråga på SO här innan.



  1. mysql uppdatera flera kolumner med samma nu()

  2. SQL-fråga för trädtabell

  3. Hur Typeof() fungerar i SQLite

  4. Kan MySQL på ett tillförlitligt sätt återställa säkerhetskopior som innehåller vyer eller inte?