尚方寶劍之說(shuō)
2023-05-19 17:43:29
我需要將數(shù)據(jù)從一個(gè) json 文件加載到名為 Locality 的 MySQL 數(shù)據(jù)庫(kù)表中。下面的代碼返回一個(gè) MySQL 語(yǔ)法錯(cuò)誤。適用于 Aurora MySQL Serverless 的 MySQL 版本 5.7.30。我正在使用 aws-sdk,導(dǎo)入所有庫(kù),創(chuàng)建 RDS 實(shí)例。但出于某種原因,它返回 SQL 語(yǔ)法錯(cuò)誤。如果我能看到 rds.batchExecuteStatement 生成的 SQL 內(nèi)容,它也會(huì)有所幫助。我已經(jīng)試過(guò)了,但沒(méi)能找到 SQL 語(yǔ)句是什么。(幫助?)const loadLocalities = () => {? ? // Read data from the json file? ? const data = require('./GeoDyDB.json')? ? // Extract the data from the JSON into a format RDSDataService.batchExecuteStatement expects for the parameterSets argument? ? const localityParameterSets = data.map(function(location){? ? ? ? return [? ? ? ? ? ? {name: 'code', value: {stringValue: generate_locality_sort_key(location)}},? ? ? ? ? ? {name: 'synonyms', value: {stringValue: location.formatted_address}},? ? ? ? ? ? {name: 'country', value: {stringValue: location.Country}},? ? ? ? ? ? {name: 'state', value: {stringValue: location.State}},? ? ? ? ? ? {name: 'city', value: {stringValue: location.City}},? ? ? ? ? ? {name: 'zone', value: {stringValue: location.Zone}},? ? ? ? ? ? {name: 'ward', value: {stringValue: location.Ward}},? ? ? ? ? ? {name: 'colony', value: {stringValue: location.Colony}},? ? ? ? ? ? {name: 'pincode', value: {isNull: true}},? ? ? ? ? ? {name: 'lat', value: {stringValue: location.Lat.toString()}},? ? ? ? ? ? {name: 'lng', value: {stringValue: location.Lng.toString()}},? ? ? ? ? ? {name: 'geohash', value: {stringValue: location.Country}},? ? ? ? ? ? {name: 'obj', value: {stringValue: location.Country}}? ? ? ? ? ? /* more columns */? ? ? ? ]? ? })? ? // Create the SQL statement to run for all the items to insert as per AWS Docs linked above? ? sqlStatement = `INSERT INTO Locality (code, synonyms, country, state, city, zone, ward, colony, pincode, lat, lng, geohash, obj) VALUES (:code, :synonyms, :country, :state, :city, :zone, :ward, :colony, :pincode, :lat, :lng, :geohash, :obj);`? ? };}
3 回答

aluckdog
TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超7個(gè)贊
我遇到了同樣的問(wèn)題。調(diào)試了好幾個(gè)小時(shí)才發(fā)現(xiàn)不能在sql語(yǔ)句末尾包含分號(hào)...

叮當(dāng)貓咪
TA貢獻(xiàn)1776條經(jīng)驗(yàn) 獲得超12個(gè)贊
請(qǐng)注意整數(shù)的值為 longValue,還記得添加“JSON”類(lèi)型提示并將其作為字符串值傳遞到 RDS 中,這非常有效。
BatchExecuteStatementCommand 似乎對(duì)命令數(shù)量沒(méi)有設(shè)置限制,但它應(yīng)該受到 4MB 輸入限制,因此值得考慮是否可以超過(guò)該限制。

米琪卡哇伊
TA貢獻(xiàn)1998條經(jīng)驗(yàn) 獲得超6個(gè)贊
您忘記將 SQL 查詢(xún) ( sqlStatement
) 提供給rds.batchExecuteStatement
函數(shù),您正在為其提供參數(shù),但沒(méi)有 SQL 代碼可以應(yīng)用它。
添加回答
舉報(bào)
0/150
提交
取消