我有一個獨特的情況。我還沒有找到類似的問題。這是我的桌子。
TIMESTAMP SYMBOL NAME PRICE YEAR-LOW YEAR-HIGH STATEMENT-DATE
2022-06-12 17:32:37.117340 AOS A. O. Smith Corporation 58.06 56.61 86.74 2021-12-31
2022-06-12 17:32:37.109389 AOS A. O. Smith Corporation 58.06 56.61 86.74 2020-12-31
2022-06-12 17:32:37.101411 AOS A. O. Smith Corporation 58.06 56.61 86.74 2019-12-31
2022-06-12 17:32:37.093402 AOS A. O. Smith Corporation 58.06 56.61 86.74 2018-12-31
2022-06-12 17:32:37.026740 AOS A. O. Smith Corporation 58.06 56.61 86.74 2017-12-31
2022-06-12 17:32:29.742554 MMM 3M Company 137.65 137.58 203.59 2021-12-31
2022-06-12 17:32:29.727191 MMM 3M Company 137.65 137.58 203.59 2019-12-31
2022-06-12 17:32:29.654842 MMM 3M Company 137.65 137.58 203.59 2017-12-31
2022-06-12 17:32:08.582652 AOS A. O. Smith Corporation 58.06 56.61 86.74 2021-12-31
2022-06-12 17:32:08.574681 AOS A. O. Smith Corporation 58.06 56.61 86.74 2020-12-31
2022-06-12 17:32:08.565711 AOS A. O. Smith Corporation 58.06 56.61 86.74 2019-12-31
2022-06-12 17:32:08.558671 AOS A. O. Smith Corporation 58.06 56.61 86.74 2018-12-31
2022-06-12 17:32:07.904663 AOS A. O. Smith Corporation 58.06 56.61 86.74 2017-12-31
2022-06-12 17:32:00.701647 MMM 3M Company 137.65 137.58 203.59 2021-12-31
2022-06-12 17:32:00.685993 MMM 3M Company 137.65 137.58 203.59 2020-12-31
2022-06-12 17:32:00.670601 MMM 3M Company 137.65 137.58 203.59 2018-12-31
2022-06-12 17:32:00.604380 MMM 3M Company 137.65 137.58 203.59 2017-12-31
如您所見,每次運行 Python 程式時,我都會多次復制相同的資料。
我當然想讓statement-date列唯一,問題就會解決。但是,許多其他公司可能具有相同的statement-date,并且由于它們是同一個表的一部分,因此其他公司的行不會被寫入資料庫。因此,statement-date在我的情況下,該列不能是唯一的,這就是出現此問題的原因。
因此,每次我運行程式時,都會重新插入公司(欄位)的資料。
我應該如何解決這個問題?任何一個;
一個。如果 statement-data 列的公司資料已經存在,則不要插入值。正如我之前提到的,statement-data 列對于其他公司可以是相同的,因此不能是唯一的。那么,我該如何實作呢?
或者
灣。寫一個洗掉陳述句,我洗掉公司的舊資料。
哪個效率最高?在這種情況下如何撰寫洗掉陳述句?
如果a不是一個選項,那么我需要幫助撰寫類似的東西DELETE FROM TABLE-NAME WHERE SYMBOL EXISTS FOR STATEMENT-DATE AND TIMESTAMP IS NOT LATEST?這樣做的命令是什么?可能嗎?
uj5u.com熱心網友回復:
您可以在列上創建復合唯一索引SYMBOL,STATEMENT-DATE以便它們的組合是唯一的:
CREATE UNIQUE INDEX idx_symbol_date
ON tablename (SYMBOL, `STATEMENT-DATE`);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/490800.html
