scusate, qualcuno sa dirmi una query per trovare la colonna con la chiave primaria in una tabella?
grassie![]()
scusate, qualcuno sa dirmi una query per trovare la colonna con la chiave primaria in una tabella?
grassie![]()
Devi sfruttare il comando mysql_fetch_field che ti ritorna informazioni sulla colonna in esame.
<?php
mysql_connect('localhost:3306', $utente, $password)
or die("Connessione non riuscita: " . mysql_error());
mysql_select_db("database");
$risultato = mysql_query("select * from tabella")
or die("Query fallita: " . mysql_error());
/* ottiene i metadata della colonna */
$i= 0;
while ($i < mysql_num_fields($risultato))
{
echo "Informazioni della colonna $i:
\n";
$meta = mysql_fetch_field($risultato);
if (!$meta)
{
echo "Nessuna informazione disponibile
\n";
}
echo "<pre>
blob: $meta->blob
max_length: $meta->max_length
multiple_key: $meta->multiple_key
name: $meta->name
not_null: $meta->not_null
numeric: $meta->numeric
primary_key: $meta->primary_key
table: $meta->table
type: $meta->type
unique_key: $meta->unique_key
unsigned: $meta->unsigned
zerofill: $meta->zerofill
</pre>";
$i++;
}
mysql_free_result($risultato);
?>
Nell'esempio fatto, il valore che a te interessa è se $meta->primary_key è uguale ad 1. Se si allora la colonna della tabella in esame è chiave primaria.
Ciao.