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

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

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

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Q&A

解決済

4回答

3491閲覧

sql文で、型の変更したい

rink

総合スコア80

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

0グッド

0クリップ

投稿2019/06/06 06:56

編集2019/06/07 08:23

初心者です。よろしくお願いします。

sql

1ALTER TABLE products ALTER COLUMN '単価' VARCHAR(5);

productsをVARCHER方に変換したいんですけど、エラーが出てしまいます。

エラー文

sql

1ERROR 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 ''単価' VARCHAR(5)' at line 1

どうすればよいでしょうか?よろしくお願いします。

ALTER TABLE customer MODIFY 連絡先 VARCHER(12);

のようにやってみたんですけど、

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 'VARCHER(12)' at line 1
が出てきてしまいます。どうすればよいでしょうか???…

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

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

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

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

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

m.ts10806

2019/06/06 06:58

データベースの種類は何でしょうか。 バージョンもあわせてご提示ください。
kaputaros

2019/06/06 07:00

エラー文にMySQLと書いてありますよー。
m.ts10806

2019/06/06 07:03 編集

MySQLですね。(エラーより) タグに追加しておいてください。バージョンは質問本文に追記願います。
guest

回答4

0

この辺が参考になるかも。

構文エラー発生したら確認してみるといいかも。

投稿2019/06/06 07:11

kaputaros

総合スコア1844

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

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

rink

2019/07/21 06:33

ご回答ありがとうございます。 とても分かりやすかったです!
guest

0

構文チェックに使えるツール

まず、カラムやテーブル名はシングルクォート[']ではなくバッククォート[`]で囲います。

あとは[変更]なのでMODIFY でしょうか。

SQL

1ALTER TABLE products MODIFY `単価` VARCHAR(5);

投稿2019/06/06 07:08

編集2019/06/06 07:09
m.ts10806

総合スコア80765

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

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

rink

2019/06/07 08:18

できません…
m.ts10806

2019/06/07 08:19

そうですか。 「できません」という結果は存在しないので、 気が向いたら実際にやったこととその結果を「質問本文に」追記してくださいね。 一発で全てがおさまるわけではないし、試行錯誤は連続なので。
rink

2019/06/07 08:22

了解しました。。。
m.ts10806

2019/06/07 08:39

いきなり実行するのではなく私が回答に提示した構文チェックなどで試してからされたほうが。 あとコードはマークダウンで提示されないと正しいものにはなりませんので。
rink

2019/07/21 06:33

そうなんですね。。 すいませんでした ありがとうございます!
guest

0

ベストアンサー

データ型は間違えないようにしましょう。

質問文がVARCHARだったりVARCHERだったりします。

SQL

1ALTER TABLE products ALTER COLUMN '単価' VARCHAR(5);

最初に提示したSQLはバッククォートになっていないためでしょう。

SQL

1ALTER TABLE customer MODIFY 連絡先 VARCHER(12); 2

追記したSQLはVARCHERになってます。(エラーメッセージもそのままなので多分ほんとに間違えてる)

もう一度正しい構文でやってみてください。

投稿2019/06/07 08:48

mepon

総合スコア480

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

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

rink

2019/07/21 06:32

返信してませんでした。 申し訳ありません… やってみたところ、できなかったんですが、もう一度勉強しなおしてからチャレンジしてみます。 分かりやすいご説明を、どうも有難うございました!
guest

0

SQLの種類はなんでしょう?

mysqlだったら単価を囲むシングルクォートをバッククォートに変えてみてください

投稿2019/06/06 06:58

yambejp

総合スコア114581

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

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

rink

2019/06/07 08:20

変えてみたんですけどできないです…
yambejp

2019/06/07 09:24

大きく可能性が2つ ・ご利用の環境の日本語入力とサーバー側の日本語環境がことなる つまり、日本語名のカラムをつけたのが間違い。 環境を合わせるか、日本語ではない英語のカラム名でテストしてみる ・単にテーブルの属性を変更する権限をもっていない ただしこれはシンタックスエラーにはならないので可能性はやや低い できないというだけなので実は権限エラーが別途でているのかもしれないので念の為指摘
rink

2019/07/21 06:34

見てみたんですけど、あまりわかりませんでした。。。 後、返信が遅れてしまってすいませんでした。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問