久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

  • <i id='nC7jj'><tr id='nC7jj'><dt id='nC7jj'><q id='nC7jj'><span id='nC7jj'><b id='nC7jj'><form id='nC7jj'><ins id='nC7jj'></ins><ul id='nC7jj'></ul><sub id='nC7jj'></sub></form><legend id='nC7jj'></legend><bdo id='nC7jj'><pre id='nC7jj'><center id='nC7jj'></center></pre></bdo></b><th id='nC7jj'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='nC7jj'><tfoot id='nC7jj'></tfoot><dl id='nC7jj'><fieldset id='nC7jj'></fieldset></dl></div>

      1. <small id='nC7jj'></small><noframes id='nC7jj'>

        <tfoot id='nC7jj'></tfoot>
          <bdo id='nC7jj'></bdo><ul id='nC7jj'></ul>
      2. <legend id='nC7jj'><style id='nC7jj'><dir id='nC7jj'><q id='nC7jj'></q></dir></style></legend>

        使用 INSERT INTO table ON DUPLICATE KEY 時出錯,使用

        Error while using INSERT INTO table ON DUPLICATE KEY, using a for loop array(使用 INSERT INTO table ON DUPLICATE KEY 時出錯,使用 for 循環數組)

          <tfoot id='5Os1G'></tfoot>
        • <legend id='5Os1G'><style id='5Os1G'><dir id='5Os1G'><q id='5Os1G'></q></dir></style></legend>

              <small id='5Os1G'></small><noframes id='5Os1G'>

                  <tbody id='5Os1G'></tbody>
                • <bdo id='5Os1G'></bdo><ul id='5Os1G'></ul>

                • <i id='5Os1G'><tr id='5Os1G'><dt id='5Os1G'><q id='5Os1G'><span id='5Os1G'><b id='5Os1G'><form id='5Os1G'><ins id='5Os1G'></ins><ul id='5Os1G'></ul><sub id='5Os1G'></sub></form><legend id='5Os1G'></legend><bdo id='5Os1G'><pre id='5Os1G'><center id='5Os1G'></center></pre></bdo></b><th id='5Os1G'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='5Os1G'><tfoot id='5Os1G'></tfoot><dl id='5Os1G'><fieldset id='5Os1G'></fieldset></dl></div>
                  本文介紹了使用 INSERT INTO table ON DUPLICATE KEY 時出錯,使用 for 循環數組的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                  問題描述

                  我正在使用 pyspark 框架更新 mysql 數據庫,并在 AWS Glue 服務上運行.

                  I am working on updating a mysql database using pyspark framework, and running on AWS Glue services.

                  我有一個如下的數據框:

                  I have a dataframe as follows:

                  df2= sqlContext.createDataFrame([("xxx1","81A01","TERR NAME 55","NY"),("xxx2","81A01","TERR NAME 55","NY"),("x103","81A01","TERR NAME 01","NJ")], ["zip_code","territory_code","territory_name","state"])
                  
                  # Print out information about this data
                  df2.show()
                  +--------+--------------+--------------+-----+
                  |zip_code|territory_code|territory_name|state|
                  +--------+--------------+--------------+-----+
                  |    xxx1|         81A01|  TERR NAME 55|   NY|
                  |    xxx2|         81A01|  TERR NAME 55|   NY|
                  |    x103|         81A01|  TERR NAME 01|   NJ|
                  +---------------------------------------------
                  

                  我有一個主鍵 ZIP_CODE,我需要確保沒有重復鍵或主鍵異常,因此我使用 INSERT INTO .... ON DUPLICATE KEYS.

                  I have a primary key ZIP_CODE, and I need to ensure, there is no duplicate keys, or primary key exceptions, and hence am using INSERT INTO .... ON DUPLICATE KEYS.

                  而且由于我有不止一行要插入/更新,所以我在 python 中使用了數組來循環記錄,并對數據庫執行 INSERT.代碼如下:

                  And since I have more than one rows to insert/update, I have used for array in python to loop through the records, and perform INSERT into database. The code is as follows:

                  sarry = df2.collect()
                  for r in sarry:
                       db = MySQLdb.connect("xxxx.rds.amazonaws.com", "username", "password", 
                        "databasename")
                       cursor = db.cursor()
                       insertQry=INSERT INTO ZIP_TERR(zip_code, territory_code, territory_name, 
                       state) VALUES(r.zip_code, r.territory_code, r.territory_name, r.state) ON 
                       DUPLICATE KEY UPDATE territory_name = VALUES(territory_name), state = 
                       VALUES(state);"
                       n=cursor.execute(insertQry)
                       db.commit()
                       db.close()
                  

                  在運行上述插入查詢函數時,我收到以下錯誤消息,無法獲得有關錯誤的任何線索.請幫忙.

                  When running the above insert query function, I am getting the following error message, couldn't get any clue on the error. Please help.

                  Traceback (most recent call last):
                    File "/tmp/zeppelin_pyspark-2291407229037300959.py", line 367, in <module>
                      raise Exception(traceback.format_exc())
                  Exception: Traceback (most recent call last):
                    File "/tmp/zeppelin_pyspark-2291407229037300959.py", line 360, in <module>
                      exec(code, _zcUserQueryNameSpace)
                    File "<stdin>", line 8, in <module>
                    File "/usr/local/lib/python2.7/site-packages/pymysql/cursors.py", line 170, in execute
                      result = self._query(query)
                    File "/usr/local/lib/python2.7/site-packages/pymysql/cursors.py", line 328, in _query
                      conn.query(q)
                    File "/usr/local/lib/python2.7/site-packages/pymysql/connections.py", line 893, in query
                      self._affected_rows = self._read_query_result(unbuffered=unbuffered)
                    File "/usr/local/lib/python2.7/site-packages/pymysql/connections.py", line 1103, in _read_query_result
                      result.read()
                    File "/usr/local/lib/python2.7/site-packages/pymysql/connections.py", line 1396, in read
                      first_packet = self.connection._read_packet()
                    File "/usr/local/lib/python2.7/site-packages/pymysql/connections.py", line 1059, in _read_packet
                      packet.check_error()
                    File "/usr/local/lib/python2.7/site-packages/pymysql/connections.py", line 384, in check_error
                      err.raise_mysql_exception(self._data)
                    File "/usr/local/lib/python2.7/site-packages/pymysql/err.py", line 109, in raise_mysql_exception
                      raise errorclass(errno, errval)
                  InternalError: (1054, u"Unknown column 'r.zip_code' in 'field list'")
                  

                  如果我只是嘗試打印一行的值,則會按如下方式打印值:

                  If i simply try to print the values for one row, am getting the values printed as follows:

                  print('zip_code_new: ', r.zip_code, r.territory_code, r.territory_name, r.state)
                  
                  zip_code_new:  xxx1 81A01 TERR NAME 55 NY
                  

                  謝謝.我正在研究 AWS Glue/Pyspark,所以我需要使用原生 Python 庫.

                  Thanks. I am working on AWS Glue/Pyspark, so I need to use native python libraries.

                  推薦答案

                  以下插入查詢有效,帶有 for 循環.

                  The following insert query works, with a for loop.

                  insertQry="INSERT INTO ZIP_TERR(zip_code, territory_code, territory_name, state) VALUES(%s, %s, %s, %s) ON DUPLICATE KEY UPDATE territory_name = %s, state = %s;
                  
                  n=cursor.execute(insertQry, (r.zip_code, r.territory_code, r.territory_name, r.state, r.territory_name, r.state))
                  print (" CURSOR status :", n)
                  

                  結果輸出:

                  CURSOR status : 2
                  

                  謝謝.希望對大家有所參考.

                  Thanks. Hope this will be of reference to others.

                  這篇關于使用 INSERT INTO table ON DUPLICATE KEY 時出錯,使用 for 循環數組的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                  【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                  相關文檔推薦

                  How to use windowing functions efficiently to decide next N number of rows based on N number of previous values(如何有效地使用窗口函數根據 N 個先前值來決定接下來的 N 個行)
                  reuse the result of a select expression in the quot;GROUP BYquot; clause?(在“GROUP BY中重用選擇表達式的結果;條款?)
                  Does ignore option of Pyspark DataFrameWriter jdbc function ignore entire transaction or just offending rows?(Pyspark DataFrameWriter jdbc 函數的 ignore 選項是忽略整個事務還是只是有問題的行?) - IT屋-程序員軟件開發技
                  pyspark mysql jdbc load An error occurred while calling o23.load No suitable driver(pyspark mysql jdbc load 調用 o23.load 時發生錯誤 沒有合適的驅動程序)
                  How to integrate Apache Spark with MySQL for reading database tables as a spark dataframe?(如何將 Apache Spark 與 MySQL 集成以將數據庫表作為 Spark 數據幀讀取?)
                  In Apache Spark 2.0.0, is it possible to fetch a query from an external database (rather than grab the whole table)?(在 Apache Spark 2.0.0 中,是否可以從外部數據庫獲取查詢(而不是獲取整個表)?) - IT屋-程序員軟件開
                  <legend id='c6v5M'><style id='c6v5M'><dir id='c6v5M'><q id='c6v5M'></q></dir></style></legend>

                        <small id='c6v5M'></small><noframes id='c6v5M'>

                          <tbody id='c6v5M'></tbody>

                        1. <i id='c6v5M'><tr id='c6v5M'><dt id='c6v5M'><q id='c6v5M'><span id='c6v5M'><b id='c6v5M'><form id='c6v5M'><ins id='c6v5M'></ins><ul id='c6v5M'></ul><sub id='c6v5M'></sub></form><legend id='c6v5M'></legend><bdo id='c6v5M'><pre id='c6v5M'><center id='c6v5M'></center></pre></bdo></b><th id='c6v5M'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='c6v5M'><tfoot id='c6v5M'></tfoot><dl id='c6v5M'><fieldset id='c6v5M'></fieldset></dl></div>
                          • <bdo id='c6v5M'></bdo><ul id='c6v5M'></ul>
                            <tfoot id='c6v5M'></tfoot>

                          • 主站蜘蛛池模板: 国产一区二区不卡 | 亚洲天堂日韩精品 | 欧美性吧 | 欧美精选一区二区 | 福利视频网 | 日本天天操 | 四虎永久影院 | 精品综合在线 | 在线成人免费视频 | 99亚洲精品视频 | 夜夜av | 久久久久国产一区二区三区四区 | 国产成人网 | 国产精品国产亚洲精品看不卡15 | 欧美日韩亚洲一区 | 国产视频精品免费 | 国产高清一区二区三区 | 国产一区二区三区久久久久久久久 | 欧美日韩中文字幕 | 欧美日韩久久精品 | 男女网站在线观看 | 亚洲激情av | 日韩在线视频一区二区三区 | 国产午夜精品一区二区三区嫩草 | 成在线人视频免费视频 | 久久综合九色综合欧美狠狠 | 在线播放日韩 | 亚洲人成人一区二区在线观看 | 草草视频在线观看 | 久久这里只有 | 日本一区不卡 | 日韩在线资源 | 国产精品国产三级国产aⅴ无密码 | 亚洲午夜在线 | 99精品视频免费观看 | 电影午夜精品一区二区三区 | 欧美人妇做爰xxxⅹ性高电影 | 一区中文字幕 | 日日天天| 久草免费福利 | 色综合美女 |