След дълго и упорито търсене и далеч и нашир, ние намерихме (това, което смятаме, че е единственото) решение:създайте функция, която да преглежда всяка една от тези „мини заявки“ поотделно и изглежда, че е много по-щастлива сега! Всъщност се натъкнахме на това предложение и преди, но го отхвърлихме първоначално, защото щеше (и отне) много време за отделяне на 973 реда код, за да се разделят всички отделни допълнения към базата данни...
$populate =
"
CREATE TEMPORARY TABLE IF NOT EXISTS `mldb`.`TempSchool`
(
`CentreNo` INT UNSIGNED NOT NULL,
`School` VARCHAR(255) NULL,
`Street` VARCHAR(255) NULL,
`Town` VARCHAR(255) NULL,
`County` VARCHAR(255) NULL,
`Postcode` VARCHAR(10) NULL,
`Tel` VARCHAR(45) NULL,
`URL` VARCHAR(512) NULL,
`Email` VARCHAR(255) NULL,
`Headteacher` VARCHAR(255) NULL,
`LEA` VARCHAR(45) NULL,
`LEANo` INT UNSIGNED NULL,
`EstablishmentNo` INT UNSIGNED NULL,
`URN` INT UNSIGNED NULL,
`Governance` VARCHAR(45) NULL,
`Phase` VARCHAR(45) NULL,
PRIMARY KEY (`CentreNo`)
)
ENGINE = InnoDB ;
" ;
populate ($dbc, $populate);
$populate =
"
LOAD DATA INFILE '$path'
IGNORE INTO TABLE `mldb`.`TempSchool`
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '\"'
LINES TERMINATED BY '\\r\\n'
IGNORE 1 LINES
(@AdNo, @UPN, @ULN, @UCI, @CandidateNo, @LegalSurname, @LegalForename,
@PreferredSurname, @PreferredForename, @Gender, @DOB, @Email,
@InCare, @EverInCare, @FSM, @FSMEver6, @EAL, @SENStatus, @AMA,
@Attendance, @RegGroup, @YearGroup, @EnteredYearDate,
@Class, @Subject, @Staff, @Initials,
CentreNo, School, Street, Town, County, Postcode, Tel, URL,
Email, Headteacher, LEA, LEANo, EstablishmentNo, Governance, Phase)
" ;
populate ($dbc, $populate);