2016-12-23 8 views
0

新しいレコードのデフォルト値をmysql列にのみ設定できますか?新しいレコードのMysqlのデフォルト値

何も入力されていない場合は、今日までのすべての行がnullになりますが、その列に何も入力されていなければ、特定の文字列になります。

これは可能ですか?

+0

新しいAutoIncrement列を作成しますが、以前の記録がnull値を保つように、それが必要とすることはできません。 –

+0

@AndréFecteau私はそうは思わない。 MySQLはnullを許可するか、または主キーではない自動インクリメントカラムの作成を拒否します。 –

+0

@MichaelBerkowskiあなたはそうです、ごめんなさい。私自身のMySQLインスタンスで試してみましたが、AIカラムはキーでなければなりません。 –

答えて

2

表内のすべての行を検索し、特定の列が空であるかどうかを確認します。はいの場合はnullに設定します。

UPDATE tablename SET column = CASE column WHEN '' THEN NULL ELSE column END 

将来のエントリのためには、このようなあなたのテーブルに既定の制約を追加することができます。

ALTER TABLE tablename ALTER column SET DEFAULT 'specific string' 
関連する問題