[pLog-svn] r3301 - in plog/trunk: . install
Oscar Renalias
oscar at renalias.net
Mon May 1 17:55:24 GMT 2006
You might be able to use some methods from the data dictionaries
available in PDb. Try with method PDbBaseDataDict::MetaColumns(). I
am not quite sure what sort of data it returns, but it is used by the
main PDbBaseDataDict ::ChangeTableSQL method to determine which
columns already exist and which doesn't, so it might be what you're
looking for.
Oscar
On 29 Apr 2006, at 23:02, Jon Daley wrote:
> Is there a better way to check to see if a column exists in a
> table instead of this first SELECT query?
>
> On Sat, 29 Apr 2006, jondaley at devel.lifetype.net wrote:
>> Modified: plog/trunk/wizard.php
>> + // check to see if we need to remove duplicates
>> and the id index
>> + $query = "SELECT id FROM ".$this->_dbPrefix."config
>> LIMIT 1";
>> + $result = $this->_db->Execute($query);
>> + // if $result is false, id column has already
>> been removed
>> + if($result){
>> + $result->Close();
>> +
>> + // remove all duplicates in plog_config table
>> + $query = "DELETE a FROM ".$this-
>> >_dbPrefix."config a, ".$this->_dbPrefix."config b WHERE a.id >
>> b.id " .
>> + "AND a.config_key = b.config_key";
>> + $result = $this->_db->Execute($query);
>> + if(!$result){
>> + $message .= "Error removing duplicates in
>> config table: ".$this->_db->ErrorMsg()."<br/>";
>> + $errors = true;
>> + }
>> + else{
>> + $result->Close();
>> +
>> + // remove index id field, we don't need it
>> any more!
>> + $query = "ALTER TABLE ".$this-
>> >_dbPrefix."config DROP COLUMN id";
>> + $result = $this->_db->Execute($query);
>> + if(!$result){
>> + $message .= "Error removing old id column
>> from config table: ".$this->_db->ErrorMsg()."<br/>";
>> + $errors = true;
>> + }
>> + $result->Close();
> _______________________________________________
> pLog-svn mailing list
> pLog-svn at devel.lifetype.net
> http://devel.lifetype.net/mailman/listinfo/plog-svn
>
More information about the pLog-svn
mailing list