имя, которое вы (необязательно) даете структуре, называется именем тега и, как было отмечено, не является типом само по себе. Чтобы добраться до типа, требуется префикс struct.
Помимо GTK +, я не уверен, что тэг используется так же часто, как typedef для типа struct, поэтому в C ++ это распознается, и вы можете опустить ключевое слово struct и использовать тэг в качестве имени типа:
struct MyStruct
{
int i;
};
// The following is legal in C++:
MyStruct obj;
obj.i = 7;
Вы можете использовать Mysql LOAD DATA INFILE
statemnt, он позволяет вам читать данные из текстового файла и очень быстро импортировать данные файла в таблицу базы данных.
LOAD DATA INFILE '/opt/lampp/htdocs/sample.csv'
INTO TABLE discounts
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS
(title,@expired_date,discount)
SET expired_date = STR_TO_DATE(@expired_date, '%m/%d/%Y');
для получения дополнительной информации: http://dev.mysql.com/doc/refman/5.5/en/load-data.html и http : //www.mysqltutorial.org/import-csv-file-mysql-table/
Вы можете использовать генератор для эффективного использования памяти. Небольшой фрагмент ниже может помочь вам.
#Method
public function getFileRecords($params)
{
$fp = fopen('../' . $params['file'] . '.csv', 'r');
//$header = fgetcsv($fp, 1000, ','); // skip header
while (($line = fgetcsv($fp, 1000, ',')) != FALSE) {
$line = array_map(function($str) {
return str_replace('\N', '', $str);
}, $line);
yield $line;
}
fclose($fp);
return;
}
#Implementation
foreach ($yourModel->getFileRecords($params) as $row) {
// you get row as an assoc array;
$yourModel->save($row);
}
Мне нужно время от времени делать это (импортировать большие нестандартизированные CSV-файлы, где каждая строка создает дюжину или около того связанных объектов БД), поэтому я написал скрипт на python, где я могу указать, что и куда и как все это связано , Затем скрипт просто генерирует операторы INSERT.
Вот оно: csv2db
Отказ от ответственности: я в основном нуб, когда дело доходит до баз данных, поэтому, возможно, есть лучшие способы сделать это.