0

SQL を開始したばかりで、テーブルの値を NULL から NOT NULL に変更しようとしていますが、コマンド プロンプトが変更されていないことを示しています。

ここに私が入れているコードがあります:

CREATE TABLE my_contacts
(
    last_name VARCHAR(30) NOT NULL,
    first_name VARCHAR(20) NOT NULL,
    email VARCHAR(50) NOT NULL,
    gender CHAR(1) NOT NULL,
    birthday DATE NOT NULL,
    profession VARCHAR(50) NOT NULL,
    location VARCHAR(50) NOT NULL,
    status VARCHAR(20) NOT NULL,
    interests VARCHAR(100) NOT NULL,
    seeking VARCHAR(100) NOT NULL
);

画像を投稿できませんが、DESC my_contacts を使用すると、テーブルが出力され、すべての行の null 列の下に「はい」と表示されます。

これはMySQL 5.6です

4

1 に答える 1

1

あなたのコメントで述べたように。次のようにします。

しかし、一つ覚えておいてください。テーブルを作成し、そこにデータを挿入し、変更したい列を残した場合はnot null、データを削除するか、null のフィールドにデータを配置する必要があります。

alter table my_contacts modify last_name VARCHAR(30) NOT NULL;
alter table my_contacts modify first_name VARCHAR(20) NOT NULL;
alter table my_contacts modify email VARCHAR(50) NOT NULL;
alter table my_contacts modify gender CHAR(1) NOT NULL;
alter table my_contacts modify birthday DATE NOT NULL;
alter table my_contacts modify profession VARCHAR(50) NOT NULL;
alter table my_contacts modify location VARCHAR(50) NOT NULL;
alter table my_contacts modify status VARCHAR(20) NOT NULL;
alter table my_contacts modify interests VARCHAR(100) NOT NULL;
alter table my_contacts modify seeking VARCHAR(100) NOT NULl;

または、それがより適している場合:

drop table my_contacts;

CREATE TABLE my_contacts
(
    last_name VARCHAR(30) NOT NULL,
    first_name VARCHAR(20) NOT NULL,
    email VARCHAR(50) NOT NULL,
    gender CHAR(1) NOT NULL,
    birthday DATE NOT NULL,
    profession VARCHAR(50) NOT NULL,
    location VARCHAR(50) NOT NULL,
    status VARCHAR(20) NOT NULL,
    interests VARCHAR(100) NOT NULL,
    seeking VARCHAR(100) NOT NULL
);
于 2013-10-28T21:53:08.843 に答える