フィールドが空で、「0」でも「null」でもない列をテーブルに追加しようとしています。
"ALTER TABLE `mytable` ADD COLUMN `newcolumn` INT NOT NULL"
すべてのフィールドを「0」にします。オプションも試しDEFAULT=''
ましたが、列が追加されませんでした。では、本当に空白のフィールドを実現するにはどうすればよいでしょうか。
INTフィールドを追加しています。NULLまたは0の場合がありますが、空の文字列にすることはできません。これは文字列であり、数値ではないためです。
できません。
INTEGER 列の有効な値は、数値と NULL のみです。はすでに空の文字列であるDEFAULT ''
ため、単純に定義することはできません。''
ALTER TABLE `mytable` ADD COLUMN `newcolumn` INT DEFAULT 0
を指定しNOT NULL
ました。これは、フィールドをヌル、つまり空にすることはできないことを意味します。
「本当に空白」のフィールドが必要な場合は、列の仕様を次のように変更します。
"ALTER TABLE `mytable` ADD COLUMN `newcolumn` INT NULL"
これをテストして動作します。
ALTER TABLE `__test` ADD `test_column` INT NULL
私はこのコードを試します:
create table test( a int )
insert into test(a) values (1),(2),(3)
ALTER TABLE test ADD b INT NOT NULL DEFAULT 0