Ek Alan Değer ilavesi ile, One'a Çoklu Masalar taşıyın

1 Cevap php

Ben bir MySQL veritabanı 31 ayrı tablo (aslında ben 365 var, ama bu basit tutmak sağlayan), belirli bir gün için her içeren veri var. Tabloları (kötü) günlere göre adlandırılır.

Örnek:

island01Aug07
island02Aug07
island03Aug07
island04Aug07
...
island31Aug07

Ben bir ana tabloya tüm tabloları birleştirmek istiyorum:

island_08

Bu INSERT INTO kullanımı basit olurdu ama benim sorunum tabloları gün göstermek için bir sütun yok olmasıdır. Bu hedef tabloya eklenecek gerekir, ve sonra doldurmak gerekir ki üzerinde tabloları kopyalama / taşırken.

Öneri, tavsiye ve çözümler bekliyoruz.

1 Cevap

As alternative option you can list all tables in to array like table_name=>mysql_date, after that loop through and copy data from one table and insert in to another. After data was transferred successfully you can remove the table.

İşte tabloların listesini alma ve ondan tarih çıkarma örneğidir:

$prefix = 'island';
$lenght = strlen($prefix);

$result = $this->query("SHOW TABLES LIKE '{$prefix}%'");

$arrayDates = array();

if($db->num_rows($result))
{
	while($v = $db->fetch_array($result))
	{
		$mysql_table	= current($v);

		$arrayDates[$mysql_table] = date('d-m-Y',strtotime(substr($mysql_table,0,$lenght)));	
	}
}
//Now you can walk through your array and copy data from one table tyo another and append you mysql value