Я обхват через массив структур следующим образом:структура вставки элементы в базу данных
<cfloop array="#cfData#" index="i">
<cfif structKeyExists(i, "date")>
<cfset counter++>
<cfoutput>#counter#</cfoutput> Date is: <cfoutput> #i.date#</cfoutput> <br/>
</cfif>
</cfloop>
Теперь я должен вставить значение даты и других ключей в мою базу данных, и я пытаюсь его как следующие :
<cfquery datasource="mydb" dbname="Stats">
INSERT INTO mydatabase
VALUES
<cfif structKeyExists(cfData, "date")>
<cfset counter++>#cfData.date#
</cfif>
,
<cfif structKeyExists(cfData, "delivered")>
<cfset counter1++>
#cfData.delivered#
</cfif>
,
... and so on for other key values...
</cfquery>
Это правильный способ вставки его в базу данных MySQL?
PS: Вы также можете обратиться к моей предыдущей теме для получения дополнительной информации:
Checking for key existence in structure
UPDATE:
На самом деле, для того, чтобы избежать несоответствия columlist, я решил проверить его следующим образом
<cfset KeyList = "delivered,
unique_open,
spamreport,
drop,
request,
bounce,
deferred,
processed,
date,
startdate,
enddate,
open,
blocked">
<cfloop from="1" to="#arraylen#" index="i">
<cfloop list="#KeyList#" index="colItem">
<cfif structKeyExists(cfData[i], "colItem")>
<cfoutput>#cfData[i].colItem#</cfoutput>
<cfelse>
NULL
</cfif>
<cfif colItem neq listLast(KeyList)>,</cfif>
</cfloop>
</cfloop>
Показывает, что в браузере отображается NULL.
Однако, когда я проверить его как следующий, я получаю правильные результаты для delievered: 5 NULL 12 2 1 12 1
<cfloop from="1" to="#arraylen#" index="i">
<cfif structKeyExists(cfData[i], "delivered")>
<cfoutput>#cfData[i].delivered#</cfoutput>
<cfelse>
NULL
</cfif>
</cfloop>
Что случилось с использованием KeyList элементов?
не на самом деле нет. похоже, вам нужно раскрасить синтаксис SQL для вставок. Кроме того, использование ' ' не просто передает эти значения непосредственно в запрос. –
@SeanCoyne Что я не делаю в синтаксисе SQL Insert? Источник: Http: //dev.mysql.com/doc/refman/5.6/ru/insert.html Каким-то образом я буду проверять наличие ключей, и именно поэтому я сделал то, что я упомянул Я знаю, который я буду использовать в предложении WHERE. –
@ user3239126 вам нужно иметь '()' вокруг ваших значений i.e. 'values (1,2,3)' –