Premier article ici. J'utilise <CFSPREADSHEET>
pour créer une requête à partir d'Excel, puis j'essaie d'insérer les résultats de la requête dans la table MySQL. Cela fonctionne bien. J'ai également besoin de prendre une valeur d'une colonne et d'insérer son numéro d'identification correct dans la colonne ID du tableau. Voici mon code. Les résultats que je reçois est le même ID (6) est inséré dans chaque ligne de table. Aide ici serait sûrement apprécié. Merci!ColdFusion10 - requête cfloop sur une requête d'insertion
<cfspreadsheet action="read"
src="#myFile#"
sheet="5"
excludeheaderrow="true"
headerrow="1"
query="newQuery" />
<cfloop query="newQuery">
<!--- set ID variables --->
<cfif newQuery.Branch EQ "Army">
<cfset variables.Branch_ID = 6 />
<cfelseif newQuery.Branch EQ "Marine Corps">
<cfset variables.Branch_ID EQ 9 />
<cfelseif newQuery.Branch EQ "Navy">
<cfset variables.Branch_ID EQ 7 />
<cfelseif newQuery.Branch EQ "Air Force">
<cfset variables.Branch_ID EQ 8 />
<cfelseif newQuery.Branch EQ "Coast Guard">
<cfset variables.Branch_ID EQ 10 />
</cfif>
<cfquery name="importXLS" datasource="memorials_mysql">
INSERT INTO honorees_temp(FirsttName,MName,LastName,Branch,Branch_ID,Unit)
VALUES
('#Trim(FirstName)#',
'#Trim(MName)#',
'#Trim(LastName)#',
'#Trim(Branch)#',
#variables.Branch_ID#,
'#Trim(Unit)#')
</cfquery>
</cfloop>
Quel champ ID? Est-ce que ID est un champ dans MySQL qui devrait être auto_increment mais qui ne l'est pas? – Busches
Si 'Branch_ID' existe dans une table db, vous pouvez également utiliser' INSERT/SELECT' pour sélectionner l'ID de l'autre table et insérer les valeurs dans la même instruction, et éliminer les blocs if/else. – Leigh