PHPMyAdminを使用していて、NOT NULL制約をテーブルのカラムに追加しようとしています。カラムにNOT NULL制約を追加する
PHPMyAdminのは、私の次のクエリ受け入れ:
ALTER TABLE `wall` MODIFY `token_message` varchar(40) NOT NULL;
をしかし、私はまだ空の文字列(= NULL)を挿入することができ、私はなぜ理解していません。
PS:この制約を追加するための他のクエリを私に与えるつもりなら、PHPMyAdminで動作しないこれらの3つを試してみました(エラーの種類:#1064 - エラーがありますあなたのSQL構文で、マニュアルを確認してください):
ALTER TABLE `wall` ALTER COLUMN `token_message` SET NOT NULL;
ALTER TABLE `wall` ALTER COLUMN `token_message` varchar(40) NOT NULL;
ALTER TABLE `wall` MODIFY `token_message` CONSTRAINTS token_message_not_null NOT NULL;
定義
このクエリを使用してみてください "私のPHPMyAdminのでは動作しません。"おそらくあなたは既にその列に 'null'値を持っているでしょう。その場合、DBはあなたがその制約を追加することを許さないでしょう(少なくとも' null'値を 'null'以外のものにする必要はありません)。 –
新しい列を作成してデータをコピーしようとしましたか? – Hajo
私は既に確認済みですが、私はまだその列にnull値がありません。私が3つの他のクエリを試してみたときのエラーは次のとおりです。#1064 - SQL構文にエラーがあります – Anon