My SQL バージョン5.5です。
学校で習っている時に
追加で、 not nullを設定しようと思い、
modify文を色々試して使いましたが Syntaxのエラーが出て、
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' c_pass not null' at line 1
(※c_pass はカラム名です)
change 型名(桁数)を使うと変更できました。
なぜmodifyなどでは追加変更出来なかったのか、原因がわかる方はいらっしゃいますか?
バージョンの問題ですか?
No.1
- 回答日時:
> modify文を色々試して使いましたが
そういうときはね、その「modify文」も書くほうが良いですよ
この回答への補足
試したのは以下の通りです。
ALTER TABLE テーブル名 MODIFY COLUMN カラム名 型 NOT NULL;
ALTERテーブル名 MODIFY カラム名 NOT NULL;
ALTER TABLE テーブル名MODIFY COLUMN カラム名not null
ALTER TABLE テーブル名 MODIFY COLUMN カラム名 型 NOT NULL
ALTER TABLE テーブル名MODIFY カラム名not null
ALTER TABLE テーブル名MODIFY field カラム名not null
Alter table テーブル名ADD カラム名not null
結構いろんなパターンをやり尽したつもりなんで、あえて書く必要なかったかなあと思って。
No.3
- 回答日時:
エラーで表示されるsql文の先頭にブランクがあるというのは、全角空白でも入れてたんじゃないの?質問文では半角になってるが、どうだかあやしい。
それとも「型名(桁数)」でいけたと言うことは、桁数入れ忘れのせいかな? varchar やcharは、桁数っていうより文字数必須なんだけど。何型だったんだろう?
おおむね、質問文に書かれてない、または、そのまま入力されてない部分に原因がある。
この回答への補足
>桁数入れ忘れのせいかな?
>文字数必須なんだけど
型名・文字数を入れたら出来ました。ただ、ネットにある情報では桁数やあるいは型名すらない文もありますが、バージョンの違いですか?
それとブランクとは何のことですか?
No.4
- 回答日時:
データ型によって、(length) を省略できるものと出来ないものがあります。
マニュアルをしっかり読んでください。 [] で括られてるのは省略可能、括られてない char(length),varchar(length) は文字数必須。通常「カラム型」という時、(length)を省略出来ない型のときはこれも含めての意味で、「カラム型」といいます。
http://dev.mysql.com/doc/refman/5.1/ja/create-ta …
http://dev.mysql.com/doc/refman/5.1/ja/alter-tab …
modify のときは、
alter table MODIFY [COLUMN] column_definition
だからカラム型省略不可。カラム型不要なのは、drop の時
ブランク:空白文字と書かないと通じませんか。。。
>near ' c_pass not null
' の次に半角空白があるけど、質問入力時に入れてしまっただけなのか、この文字にエラーの元があったのか(実は全角空白だったかも)と考えただけです。
この回答への補足
難しいマニュアルですね。
省略というキーワードでページ検索してみましたが、ありませんでした。どのあたりにこの話が載っているでしょうか?
No.5ベストアンサー
- 回答日時:
#2です
>そのパターンは無理でした。
なにか読み間違えていると思いますが・・・
もしかしたら5.5でできないのでしょうか?
以下ためしてみてください。
create table hoge (id int not null,data int null);
insert into hoge values(1,100),(2,null),(3,200);
alter table hoge modify data int not null;
nullだったid=2のdataは0になるはずです
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL テーブル作成です。どこかのスペルが間違っているか記号など スペースかな? 1 2022/10/01 05:08
- MySQL 何にかが違うから エラーなんでしょうね! 2 2022/09/18 05:28
- MySQL MySQLのテーブル作成でハイフン - は使用できないのでしょうか? 2 2022/10/21 16:50
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- その他(SNS・コミュニケーションサービス) 自分のpcがハッキングされたようなメールが来たのですがどうすればいいですか? 4 2022/10/02 16:14
- 戦争・テロ・デモ ウクライナ、メル友に五千円要求されてさ 1 2022/04/02 09:38
- 英語 英文の添削お願いします。【長文です。】 マッチングアプリで相手を言い負かしている時のやつです。 色々 1 2023/07/01 02:12
- YouTube youtubeからの著作権メールについて 2 2023/02/14 16:12
- 英語 英語の問題でどう解いたらよいか分からないものがあります。教えていただけませんか?接続詞の単元です。 2 2023/06/18 15:45
- Gmail 【お助け!】サーバーからのメール送信でGmailに送信されない問題について 1 2023/06/20 22:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UNIONする際、片方テーブルしか...
-
SELECT文で、指定カラム以外の...
-
構造が異なる二つのテーブルをu...
-
カラムとコラムの使い分け
-
コンボボックスの抽出条件のLik...
-
update時にtimestampが更新され...
-
DBエラーの意味
-
GREATESTで NULLをスルーする方...
-
ROUND関数で、四捨五入ができな...
-
日付を一括UPDATE
-
sql , insert で空行(全ての列...
-
MySQLで先頭にカラムを追加
-
now()かCURRENT_TIMESTAMPか
-
Select文で結合した時に、重複...
-
エクセルかワードで家系図を作...
-
PHP 画像のアップロード Qiita
-
エディターについて
-
DBの定義のサイズを大きくし過...
-
INDIRECT関数の代替方法は?
-
SQLServerでNULLを挿入したいです
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
一部のカラムでdistinctし全て...
-
SELECT文で、指定カラム以外の...
-
now()かCURRENT_TIMESTAMPか
-
UNIONする際、片方テーブルしか...
-
MYSQLで全てのカラムから検索す...
-
GREATESTで NULLをスルーする方...
-
構造が異なる二つのテーブルをu...
-
カラムをコピーして、新規カラ...
-
SQLでカラムを追加し、条件に合...
-
ドロップダウンリストの連動し...
-
カラムとコラムの使い分け
-
sql , insert で空行(全ての列...
-
エクセルかワードで家系図を作...
-
MySQLで先頭にカラムを追加
-
AUTO_INCREMENTに0はダメ?
-
日付を一括UPDATE
-
DBエラーの意味
-
SQLで、行ごとのとある要素を比...
-
ROUND関数で、四捨五入ができな...
-
SQLについて教えて下さい。 SEL...
おすすめ情報