我使用的PHP cron作業下載新的CSV的每個夜晚。每個csv通常大致相同,可能在一個月內一個字段是新的。我需要獲取新字段並將其附加到數據庫。我不知道如何獲得新字段的類型。我看到別人的問題與gettype(),但我不知道這是否會工作或不,因爲數據是在一個csv內,所以當他們需要浮動或整數時,他們都不是字符串?我將如何檢查類型?解析CSV的第一行,並創建一個表內的數據庫
第二個問題,是有沒有辦法來檢查,如果沒有一個表內的名字嗎?例如,如果他們添加一個名爲foo52的新字段,並且我的數據庫中有foo1到foo51,是否有一種快速搜索不存在的字段的快速方法,或者我必須爲每個字段使用select語句,並且當它錯誤時附加它?
我使用MySQL我的數據庫。
感謝您的幫助。
CSV文件沒有「型」。它們只是由逗號(或其他字符)分隔的數據串。您可以決定「12345」是一個整數還是一個看起來像整數的字符串。換句話說,如果你不知道新字段的類型是什麼,你將不得不使用text/varchar字段來保存它。 –
這就是我的想法,如果我只是將所有信息存儲在數據庫中作爲文本,它真的很重要嗎? –
不,不是爲了存儲。但後來如果你真的要在數據庫中使用這些數據,最好將新的字段轉換爲適當的類型。更容易在所有新的領域數據唾手可得,然後在數據庫中挑選它,以決定它是文本,數字等... –