No.3
- 回答日時:
#2回答者です。
ALTER TABLEで、NOT NULLを外してみては?
<記述例>
表T1の列C1、C2のNOT NULLを外す。
ALTER TABLE T1
CHANGE C2 C2 INT,
CHANGE C3 C3 INT;
※データ型の後に、NOT NULLを書かないことで、外したことになります。
「NOT NULL」→「NOT NULLなし」は、データが格納されていても行えますが、逆はデータが格納された状態では行えません。
No.2ベストアンサー
- 回答日時:
>以前使っていたMySQL4.0ではこんな事は無かったの
>で、何か設定が間違っているのか?もしくは他に対応>の方法があれば、と思っています。
その表は、MySQL 4.0で定義したものを、そのまま使っているのでしょうか?
それとも、MySQL 5.0で新たに定義したのでしょうか?
MySQLに限らず、SQLの基本的な仕様だと思いますけど?
MySQLがバージョン4と5の間で、仕様を変えたのかどうかは分かりかねます。
create table t1
(c1 int,
c2 int)
上記のような定義なら、挿入値を省略した列には、nullが格納されます。
「c1 int not null」のように、nullを許さない指定をした場合には、挿入値を省略するとエラーになります。
「c1 int not null default 0」のように、省略時仮定値を指定しておけば、挿入値を省略した列には、その値が入ります。
primary keyを設定した場合は、自動的にnot nullが仮定されます。
>挿入値を省略した列には、nullが格納されます。
>「c1 int not null」のように、nullを許さない指定をした場合には、挿入値を省略するとエラーになります。
・・なのですね。
実は以前からテーブルの作成はPHPMyAdminを使っているのですが、そのツールは各カラムはNotNullがデフォになっているため、そのまま全てのカラムをNotNullで定義していました。
ただどういうわけか、SQL4.0では前述のようなカラムを指定したInsertも問題なく行なえていたため、ほとんどそのあたりの定義は意識していませんでした。
回答いただき、どうもありがとうございました。
No.1
- 回答日時:
>PHPMyAdminを使って
とありますが、PHPMyAdminを使わなければうまくいく
というイミでしょうか?それによって回答は
ダイブ変わってくるとおもいます
この回答への補足
すいません、その後いろいろやってみたんですが、PHPMyAdminを使う使わないは関係ないです。
カラム「aaa」「bbb」「ccc」があり、プロンプトから「INSERT INTO テーブル名(aaa)VALUES(1)」とすると、「Field 'bbb' doesn't have a default value」というエラーになってしまいます。
要は「INSERT INTO テーブル名(aaa,bbb,ccc)VALUES(1,2,3)」のように全てのカラムにデータを入れた場合のみINSERTが成功する状況です。「bbb」や「ccc」
のカラムタイプがintでもcharでも同様の結果です。
最初からすべてのカラムをNULL設定しておけばエラーは出ないんでしょうが、以前使っていたMySQL4.0ではこんな事は無かったので、何か設定が間違っているのか?もしくは他に対応の方法があれば、と思っています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
- XML PHP.laravelについて 1 2023/07/06 15:26
- MySQL sqlにおけるテーブル名と各カラム名って 具体的に何ですか? 私は良くphpmyadminを使います 3 2023/05/18 14:10
- MySQL MySQLのテーブル作成でハイフン - は使用できないのでしょうか? 2 2022/10/21 16:50
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- MySQL MySQLのテーブル作成で 自信がありません。 2 2022/08/28 05:35
- ゴルフ 【ゴルフ】ゴルフクラブでパターだけインサートがあると書かれていました。 2 2023/03/05 07:56
- PostgreSQL 列が存在しないと言われる 2 2023/02/10 18:33
- Excel(エクセル) ネットワーク上のエクセルとリンクしている時にデータ更新をvbaで、refresh Allで行う場合の 2 2023/04/10 05:39
- MySQL データベースの複製の仕方(mysql) 2 2023/05/30 18:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで変数内に保持された二次配...
-
二進数を勉強しているのですが...
-
SQLのVARCHARとVARCHAR2の違い
-
mysql(mariaDB)の格納文字数は...
-
INT型は金額の型に使用するべき...
-
経過時間(hhmmdd)をDATE型には...
-
insertでのエラーについて
-
プライマリーキーの昇順でソー...
-
接続ができません
-
シングルクォーテーションとダ...
-
副問合せにLIKE文を使う方法は...
-
phpAdminを導入したのですが。
-
旧filemakerで和暦(令和など)...
-
ERROR 1045 (28000) (using pas...
-
like句を使って日本語を検索す...
-
ACCESSとXサーバーをODBCで接続...
-
MySQLにリモートホストから接続...
-
mysql_real_escape_string?
-
PHPでMySQLテーブルロック一覧取得
-
テーブル作成でエラーが出てき...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQLのVARCHARとVARCHAR2の違い
-
VBAで変数内に保持された二次配...
-
INT型は金額の型に使用するべき...
-
プライマリーキーの昇順でソー...
-
Float型の時の計算結果がおかしい
-
ヌル値は記憶容量を必要としな...
-
MySQLの型のサイズ指定で速度は...
-
データベースのフィールドのデ...
-
postgreSQLのデータ型
-
TRUE/FALSEのデータ型
-
ハングル文字が入らない。
-
オラクルのデータ型・通貨について
-
Excel VBA SelectedItems
-
MysqlにURLを登録する方法
-
postgresQL に格納した画像ファ...
-
DB2 INSERT時の格納順序
-
[SQLserver]長文に適したデータ...
-
-3.34 が -3.3399999999999999 ...
-
AccessからOrcleのODBCリンクテ...
-
insertでのエラーについて
おすすめ情報