0

私はスキーマを書きました:

CREATE TABLE user
(
user_id INT UNSIGNED AUTO_INCREMENT NOT NULL,
fname VARCHAR(20) NOT NULL,
lname VARCHAR(20) NOT NULL,
email VARCHAR(30) NOT NULL,
password VARCHAR(60) NOT NULL,
gender ENUM('M', 'F'),
CONSTRAINT pk_user_id PRIMARY KEY (user_id) 

)。

ただし、ユーザーの名前と名前の2つの値のみを挿入する場合、電子メールとパスワードは空白のままになります。つまり、notnullは期待どおりに機能しません。表示すると2つの警告が表示されますが、動作は期待どおりではありません。これが決して起こらないようにするために、挿入に失敗するように特に制約を加える必要がありますか?

4

1 に答える 1

0

CHECK残念ながら、mysqlは制約をサポートしていません。

これらは互換性の理由でのみmysqlで「有効な構文」であるため、コーディングでき、create table SQLは正常に実行されますが、それ以降は無視されます。

于 2012-04-22T18:48:13.703 に答える