2015-04-03 119 views
0

我遇到了我的地理編碼腳本存在問題,它將空值插入mySQL數據庫並因爲我的coord_lat column cannot be null而破壞我的腳本。當我看看我的結構時,它告訴我可以使用空值。任何人都可以給我一個關於如何解決這個問題的建議嗎?謝謝!允許float在mySQL中爲空值

enter image description here

enter image description here

+0

當你聲明列時,刪除'not null'。根據該屏幕截圖,它已經不是空的 – 2015-04-03 16:54:32

+1

。 – 2015-04-03 16:57:15

+0

就是這樣。它說不爲null,但我的腳本告訴我coord_lat列不能爲空,這很奇怪。 – chronotrigga 2015-04-03 16:59:17

回答

2

可以使用alter table修改列:

alter table modify coord_lat float not null; 

但是,列被宣佈爲not null明確的,所以我不知道這是否是一個好主意。我想更大的問題是爲什麼你插入一行沒有這個信息。

+0

這不會破壞我現有的記錄是否正確?只是想仔細檢查,謝謝! – chronotrigga 2015-04-03 16:56:09

+1

它不會。但它不是一個可怕的習慣,以確保您有一個最近的備份之前作出任何修改 – 2015-04-03 16:56:56

+1

這與OP發佈'當前計劃'相矛盾..有些事情是錯誤的。 – user2864740 2015-04-03 17:06:36

1

檢查是否有覆蓋此列的索引,這些也可以強制列非空。 (注意:可能是簡單的或複合的。)

+0

感謝您的幫助! – chronotrigga 2015-04-06 15:10:17

0

值得注意的是,您必須明確指定您希望該字段爲空。 float的默認值將始終爲0.00(具有與字段一樣多的小數位數)。

INSERT into GEO (city,lat,lng) VALUES ('london',null,null); 

如果你只是離開了緯度和經度

INSERT into GEO (city) VALUES ('london'); 

然後lat和液化天然氣將是0.00000

我通常緯度/經度值存儲爲一個字符串作爲將它們轉換爲浮動是在需要時做一件簡單的事情。