今日からデータベースの勉強
YouTubeを見ながらの独学です。
コードの記述に誤りがあり思うように表示で出来なかったりした時は、このブログに「備忘録」として記録に残したいと思い、入力してます。
【PHP/MySQL入門】テーブルを作ってSQLでデータを入れよう! ~ブログアプリ作成~ #02
※渋谷で働くエンジニア福の「実践で学ぶプログラミング入門」さんの動画を参考にさせて頂きました。
まず、[blog_app]というデータベースを新規に作成して、その中に[blog]というテーブルを新規作成した。
[blog]というテーブルのデータの定義は次のようにした。
エラーに悩まされ・・・
この [blog] というテーブルにレコードを追加するためSQLで下記のように入力してしまい、とても悩んだ。
1 |
INSERT INTO blog(`title`, `content`, `category`, `post_at`, `publish_status`) VALUES (`テスト`,`テストです`,1,`2024-09-28`,1); |
ChatGPTで調べると「列 'テスト' は 'field list' にはありません。」とエラーメッセージが出る原因は、「INSERTクエリのVALUES 部分で、文字列を囲むときにバッククォートを使用しているため」だったのです。
「MySQLでは、文字列リテラルを囲むにはシングルクォートまたはダブルクォートを使用します。バッククォートは、テーブル名やカラム名などの識別子を囲むために使われます。」とのこと・・・
下記が正解です。
1 |
INSERT INTO blog(`title`, `content`, `category`, `post_at`, `publish_status`) VALUES ('テスト', 'テストです', 1, '2024-09-28', 1); |
テーブル名やカラム名などの識別子はバッククォート(`)
文字列リテラルを囲むにはシングルクォート(')またはダブルクォート(")
だったのです。プロから見れば当たり前のことであるが、独学の初学者ではありがちなことと悟った。
原因が判明したことで、調子に乗り4行もレコードを追加してしまった。
成功すると下記のように表示され、ひとつ山を登った感じがした。
無事に4件追加、出来ました!
次回は、データベースに接続に挑戦です!
投稿者プロフィール
-
asamai-cts Owner
あさまいCTSの代表オヤジです(2024年現在=63歳)
横手市中央町で「ラーメン与市」を2012年まで約15年間を経営。
その後、「横手市雇用創出協議会 実践支援員」を経て、一時会社勤めをするが再度、自営業の世界に戻る。
現在の「あさまいCTS」は2019年1月に起業。業務内容は主に、パソコンの修理、出張スマホ・パソコン教室、ホームページ作成 その他 何でも屋みたいなものです・・・
最新の投稿
- 備忘録2024年10月8日63歳からの挑戦-06
- 備忘録2024年10月6日63歳からの挑戦-05 拡張子に拠る表示の違いについて
- 備忘録2024年9月29日63歳からの挑戦-04
- 備忘録2024年9月28日63歳からの挑戦-03