Table not updating with dbdelta
-
I have following code for creating table:
$sql = "CREATE TABLE " . $table_name . "(" . "id mediumint(9) NOT NULL AUTO_INCREMENT, " . "product_id mediumint(9) DEFAULT 0 NOT NULL," . "name_type mediumint(9) NOT NULL, " . "name_key varchar(48) NOT NULL, " . "valid_until datetime DEFAULT '0000-00-00 00:00:00' NOT NULL, " . "created_at datetime DEFAULT '0000-00-00 00:00:00' NOT NULL, " . "updated_at datetime DEFAULT '0000-00-00 00:00:00' NOT NULL, " . "UNIQUE KEY id (id)" . ")" . $charset_collate. ";"; require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); dbDelta( $sql );
It is working and table created.
Now I need update table and add new column (sites_list):$sql = "CREATE TABLE " . $table_name . "(" . "id mediumint(9) NOT NULL AUTO_INCREMENT, " . "product_id mediumint(9) DEFAULT 0 NOT NULL," . "name_type mediumint(9) NOT NULL, " . "name_key varchar(48) NOT NULL, " . "sites_list longtext, " . "valid_until datetime DEFAULT '0000-00-00 00:00:00' NOT NULL, " . "created_at datetime DEFAULT '0000-00-00 00:00:00' NOT NULL, " . "updated_at datetime DEFAULT '0000-00-00 00:00:00' NOT NULL, " . "UNIQUE KEY id (id)" . ")" . $charset_collate. ";"; require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); dbDelta( $sql );
But this not work.
And I has a error:
WordPress database error: [Table 'table_name' already exists]
What is incorrect?
Thanks.
Viewing 1 replies (of 1 total)
Viewing 1 replies (of 1 total)
- The topic ‘Table not updating with dbdelta’ is closed to new replies.