SQL 第二版 ゼロからはじめるデータベース操作 勉強中

とりあえずデータベースを作成し、テーブルも作成というところでエラー。

◆エラー内容

create table Shohin
(shohin_id CHAR(4) NOT NULL,
shohin_mei VARCHAR(100) NOT NULL,
shohin_bunrui VARCHAR(32) NOT NULL,
hanbai_tanka INTEGER,
shiire_tanka INTEGER,
torokubi DATE,
PRIMARY KEY (shohin_id));

これは成功したほう。失敗したのが、

create table Shohin
(shohin_id CHAR(4) NOT NULL,
shohin_mei VARCHAR(100) NOT NULL,
shohin_bunrui VARCHAR(32) NOT NULL,
hanbai_tanka INTEGER,
shiire_tanka INTEGER,
torokubi DATE,
PRIMARY KEY (shohin_id);

◆エラー文

ERROR 1064 (42000): 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 '' at line 8

このようになっていて、'' at line 8と言われてもちょっとわからなかったのですが、8行目をみて

◆解決

最後のところ【 ) 】がひとつ足りませんでした。(shohin_id);→(shohin_id));

◆原因

成功。二行目の(shohin_id CHAR(4)のところの【  (  】を閉じ忘れたのが原因でした。

次に、INSERTでデータ登録というところで問題発生。

◆エラー発生2回目

INSERT INTO Shohin VALUES ('0006', 'フォーク', 'キッチン用品', '500', null, '2009-09-20');

これは成功したほうです。失敗したのが、

INSERT INTO Shohin VALUES ('0006', 'フォーク', 'キッチン用品', '500', ’null’, '2009-09-20');

◆原因

INTEGER型の値に'null'で登録しようとしたら、エラーでした。

◆解決

シングルクォーテーション【 ' 】はとって、'null'→nullで登録したら成功。

この記事が気に入ったらサポートをしてみませんか?