質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

mysqli

MySQLiはPHP5より導入されているデータベース用のドライバです。MySQL 4.1.3以降の新しい機能の利点をまとめています。

XAMPP

XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

Q&A

解決済

1回答

888閲覧

mysql  'の数は合っているのに、【'>】が永遠と出てしまい、表にデータ登録ができない。(キャンセルの方法は分かります)

退会済みユーザー

退会済みユーザー

総合スコア0

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

mysqli

MySQLiはPHP5より導入されているデータベース用のドライバです。MySQL 4.1.3以降の新しい機能の利点をまとめています。

XAMPP

XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

0グッド

0クリップ

投稿2020/10/15 07:53

前提・実現したいこと

mysql初心者です。
練習でデータ登録をしたいのですが、コマンド入力後Enterを押しても【’>】が永遠と出てしまい前に進みません。
調べてみると【’>】が永遠と出てしまうのは、【’】が足りないという事なのですが、何度確認しても数は合っています。
わかる方がいたら教えてください。よろしくお願いします<m(__)m>

発生している問題・エラーメッセージ

エラーメッセージ ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '1995-01-01', NULL, NULL); '' at line 2 ### 該当のソースコード MariaDB [practice]> INSERT INTO Employee -> VALUES ('E00001', '山田太郎', '男', '> '1995-01-01', NULL, NULL); '>    ### 試したこと ### 補足情報(FW/ツールのバージョンなど) xampp control panel V3.2.4  のShell  「chcp 65001」と入力し、utf-8に変更してから練習しています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

otn

2020/10/15 10:47

本当に'山田太郎', '男',ですか? 実は違う文字列だったというオチではないでしょうか?
guest

回答1

0

ベストアンサー

ひとまず、コードを1行にまとめてください。

INSERT INTO Employee VALUES ('E00001', '山田太郎', '男','1995-01-01', NULL, NULL);

なんか見た感じ'>を自分で打ってませんか?


ただ、現象再現しないですね。。
イメージ説明

削除して実行しなおし。
イメージ説明


chcp 65001 実行してからMySQL入ると再現した。


あまりWindows上でコマンド操作はよろしくないという印象です(過去質問でも指摘を見たことがあります)
XAMPPでしたら初めからphpMyAdminが入っているのでそちらを利用するか、別途DB操作ツール(色々あります)を導入したほうがこの手の問題は気にしなくて済むように思います。

どうしてもコマンド操作を練習したいのでしたら、仮想環境にLinux系OS入れて操作ですね。

投稿2020/10/15 07:56

編集2020/10/15 10:08
m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/10/15 08:07

m.ts10806さん、回答ありがとうございます。 1行で書いてもダメでした。 MariaDB [practice]> INSERT INTO Employee VALUES ('E00001', '山田太郎', '男','1995-01-01', NULL, NULL); '> このように実行されず '> と出てきてしまいます。
m.ts10806

2020/10/15 08:09

構文エラーはないんですけどね(削っただけなので想定の結果が得られるSQLかどうかは定義次第)。 コマンドラインは ; をキーとして実行されるので、エラーすら出ないのはおかしい。 ちなみにSELECT文は実行できますか? もしどうにもいかないようでしたら、 \q で一度MySQLのコマンドコンソールを抜け出して入りなおしてみてください。
退会済みユーザー

退会済みユーザー

2020/10/15 09:32

select文は実行できます。 ¥qで抜けて再度試しましたができませんでした。 最初からコピーしてみたので、おかしい点がありましたら教えてください<m(__)m> 調べても ' の数が合ってない としか出ないので…自分では意味不明です<m(__)m> MariaDB [(none)]> show tables; ERROR 1046 (3D000): No database selected MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | phpmyadmin | | practice | | shop | | test | +--------------------+ 7 rows in set (0.004 sec) MariaDB [(none)]> use practice; Database changed MariaDB [practice]> INSERT INTO Employee VALUES ('E00001', '山田太郎', '男','1995-01-01',NULL,NULL); '> ' -> ; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1 MariaDB [practice]>
m.ts10806

2020/10/15 09:39

んー。どう見ても'>' も打って実行してしまっているようにしか見えない。 SHOW CREATE TABLE Employee の実行結果を質問本文に追記してもらって良いですか?
退会済みユーザー

退会済みユーザー

2020/10/15 09:49

MariaDB [(none)]> use practice Database changed MariaDB [practice]> show create table employee; +----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Table | Create Table | +----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | employee | CREATE TABLE `employee` ( `emp_id` char(6) NOT NULL, `name` varchar(10) NOT NULL, `gender` char(1) NOT NULL, `birthday` date NOT NULL, `salary` int(11) DEFAULT NULL, `dep_id` char(4) DEFAULT NULL, PRIMARY KEY (`emp_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 | +----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.001 sec) MariaDB [practice]> INSERT INTO Empoloyee VALUES ('E00001','山田太郎','男','1995-01-01',NULL,NULL); '> '> ' -> ; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1 MariaDB [practice]> こんな感じです。 '> ' と打つと… -> に変わって ->; と打つとやっとエラーが出ます。
m.ts10806

2020/10/15 09:50

質問本文に追記してもらって良いですか?
m.ts10806

2020/10/15 09:53

ただ、テーブル名が違いますね。 CREATE TABLE:employee INSERT:Empoloyee 質問のコードと違います。
退会済みユーザー

退会済みユーザー

2020/10/15 09:56

employeeのスペルが間違っていたので直してみましたが、関係なかったです ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1 MariaDB [practice]> INSERT INTO Employee VALUES ('E00001','山田太郎','男','1995-01-01',NULL,NULL); '> '> '> '> '> '> ' -> ; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1 MariaDB [practice]>
m.ts10806

2020/10/15 09:59

追加してますが、再現しませんでした。 XAMPPでしたら、phpMyAdminから実行してみてください。
m.ts10806

2020/10/15 10:01

あぁ、・・もしかしたら chcp 65001 が原因かもしれません。 私の方では実行せずmysqlログインしてやってたのですが、 実行してからmysqlログインするとなりました。
m.ts10806

2020/10/15 10:08

ひとまず追記。 Windowsはあまりコマンド操作向かないOSですね。
otn

2020/10/15 10:30

本当に'山田太郎', '男',ですか? 実は違う文字列だったというオチではないでしょうか?
dodox86

2020/10/15 10:38

'山田太郎', '男' のなどの漢字部分を漢字じゃなくて、'Yamada', 'male' などとASCII文字だけにして入力してみたらどうでしょう。それでOKであれば文字コードの問題っぽいですね。
m.ts10806

2020/10/15 10:40

文字コードの問題ぽいですね。 という理由で、Windowsコマンドライン操作はあまり信用できません と結論づけた回答にしました。
otn

2020/10/15 10:48

すいません。コメントする場所を間違いました。質問本文にコメントし直しました。
退会済みユーザー

退会済みユーザー

2020/10/15 10:53

ありがとうございます! まさかのそこが問題だったんですね(;_; 文字化け?してしまうので、調べて自らchcp 65001に変えていたんですが。 戻してみたら実行できましたが、やはり文字化けしてしまいます。 1.windowsは、もうこれでしょうがないという事なんですかね? 2.phpMyAdminのSQLという場所に書いてみるとsql操作は普通にできました。mysqlの修行のつもりでxampp control panelの右端、上から3番目のshellを使って勉強始めようとしたのですが、あきらめてphpMyAdminの内で書いて覚えていけばいいのでしょうか?それとも文字化けしてもこのままcmd? shell? で練習していくのがいいのでしょうか?(web開発の為にバックエンドを頑張って取得したいという人の場合) 3.xamppをダウンロードしてphpを学んだ後、mysqlを1から勉強しようと思ってmysqlをダウンロードしたのですが、もともとxamppにも入っていた? のか、xamppのmysqlがスタートできなくなってしまいました。後からインストールしたmysqlを停止したらxamppのmysqlが使えるようになり(スタートできた)、現在その状態で修行中ですが、2つめのmysqlはアンインストールしてしまってもいいのでしょうか? MariaDB [practice]> show tables; +--------------------+ | Tables_in_practice | +--------------------+ | department | | employee | +--------------------+ 2 rows in set (0.003 sec) MariaDB [practice]> INSERT INTO Employee VALUES ('E00002','佐藤次郎','男','1990-05-03',250000,'D001'); Query OK, 1 row affected, 2 warnings (0.009 sec) MariaDB [practice]> select * from employee; +--------+--------------+--------+------------+--------+--------+ | emp_id | name | gender | birthday | salary | dep_id | +--------+--------------+--------+------------+--------+--------+ | E00001 | 螻ア逕ー螟ェ驛・ | 逕キ | 1995-01-01 | NULL | NULL | | E00002 | ???????Y | ? | 1990-05-03 | 250000 | D001 | +--------+--------------+--------+------------+--------+--------+ 2 rows in set (0.001 sec) MariaDB [practice]>
m.ts10806

2020/10/15 10:57

Windows Shellで文字化けしたように見えるのはもはや仕様と思ってください。 phpMyAdmin他、ツールからSELECTして文字化けしてなければ問題はありません。
m.ts10806

2020/10/15 11:00

2. OSコマンドを覚えるのでなければ、phpMyAdminで十分です。 GUI操作もできるので、まだなじみがあるでしょうし。 SQLは必須ですがOSコマンド(またはLinuxコマンド)は覚えなくても済むのは済みます(すぐでなくても良い) 3. 既に起動しているツールやソフトウェアに同じポートがあれば起動できません。 どのMySQLを入れたかによりますが、学習のためならXAMPPで十分です。
退会済みユーザー

退会済みユーザー

2020/10/15 11:05

ありがとうございます<m(__)m> 本当に助かりました! 継続して頑張ります!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問