protected function getConstraintKeys($col)
{
$sql = <<<EOD
\t\tSELECT k.column_name field_name
\t\t\t\tFROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE k
\t\t\t\tLEFT JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS c
\t\t\t\t\tON k.table_name = c.table_name
\t\t\t\tAND k.constraint_name = c.constraint_name
\t\t\tWHERE k.constraint_catalog = DB_NAME()
\t\tAND
\t\t\tc.constraint_type ='PRIMARY KEY'
\t\t\t\tAND k.table_name = :table
EOD;
$command = $this->getDbConnection()->createCommand($sql);
$command->bindValue(':table', $col['TABLE_NAME']);
$primary = array();
foreach ($command->query()->readAll() as $field) {
$primary[] = $field['field_name'];
}
$foreign = $this->getForeignConstraints($col);
return array($primary, $foreign);
}