2014-12-04 31 views
1

我有一個數據表現在我想改變我的表如何爲存在表列添加非NULL約束?

我想兩者兼得,但都顯示了同樣的錯誤

ALTER TABLE sample MODIFY latitude NUMERIC(10, 7) NOT NULL DEFAULT 0; 

ALTER TABLE sample CHANGE latitude latitude NUMERIC(10, 7) NOT NULL DEFAULT 0; 

1138 - 無效使用NULL值的

我想我有緯度列需要一些空數據首先刪除/修改那些列,然後只有它會工作或任何其他方式,請建議!

+0

是否存在表中緯度的空值,您需要指定默認值0,然後做出提示 – radar 2014-12-04 02:59:22

+0

yes。只是我被更新爲0 @radar – vijaykumar 2014-12-04 03:00:54

+0

它現在工作嗎? – Tom 2014-12-04 03:13:32

回答

2

看起來你仍然在該列中有空值,首先更新它們。

UPDATE sample SET latitude = 0 WHERE latitude IS NULL;
然後
ALTER TABLE樣本MODIFY緯度NUMERIC(10,7)NOT NULL DEFAULT 0;