CATEGORY "DB・SQL"

(22 件中 1 件目〜 5 件目を表示中)
12345next>>

[MySQL]Error Code: 1292. Truncated incorrect DOUBLE value




Error Code: 1292. Truncated incorrect DOUBLE value

上記はMySQLでUPDATE文を流そうとローカルでSQLを作成していた時に出たエラー。

原因はWHERE句の条件にあった。
文字列型カラムに対しての比較式において値を「'(シングルクォート)」でくくっていなかった。


簡単に書くとこんな感じ。
■間違った条件(office_codeはchar型)

UPDATE
t_office
SET
image_date = null
WHERE
office_code IN (7001, 7...
...
...
read more >>>

[MySQL]1行コマンドでMySQLにログインする方法

通常、MySQLにログインする場合はコマンドプロンプトで以下のように書く。

mysql -u {username} -p←ここでリターン
※カッコ部分は適時読み替え


するとパスワードを聞かれるのでそこで打つ。

Enter password:←ここでパスワード入力しリターン




これを一回のコマンド入力でMySQLにログインするには、
-pでリターンをせずに -pの直後にパスワードを記述する。
-pとパスワードの間にはスペースを入れずくっつけて書くこと。


■MySQLに1行ログイン

mysql -u {username} -p{passw...
...
...
read more >>>

[MySQL]DELETE文でサブクエリを使う


あるテーブルでデータ移行が必要になった。

具体的には元の値Aに対して、新しい値A'を当て込むというもの。
ただし元の値Bに対しても、新しい値がA'であることがある。
つまりそのままデータ移行をした場合いくつかのレコードで値が無駄に重複することがわかった。

このため重複したレコードを削除する必要が出てきた。
ここで、DELETE文でサブクエリを使うというわけ。


まずここまでが前提。



--
さて正直なところを言うとDELETE文というのはここ10数年まともに使ったことがない。
使う必要がなかったからだ。
まあその辺の話はおいといて…


結...
...
...
read more >>>

[MySQL]インポートで「ERROR 2006 (HY000) at line 2: MySQL server has gone away」のエラー


約10万行のinsert文が書かれたSQLをDBに流し込もうとした時出たエラー。


$ mysql --user={root} --password={pass} --default-character-set=utf8 {db_name} < C:/insert.sql
ERROR 2006 (HY000) at line 2: MySQL server has gone away

1行あたりの実行するSQLデータが大きすぎるとこのようにサーバに蹴られる。バイバイ。


ん?でもおかしいな?
以前これより大きいデータを流し込んだこともあるんだけどその時はエラ...
...
...
read more >>>

[MySQL]文字数のカウントはchar_length()、バイト数の長さはlength()



MySQLで文字数のカウントを調べる場合はchar_length()という関数を使う。
バイト数の長さを調べる場合はlength()という関数を使う。


使い方は引数にカラム名を指定する、あるいは特定の文字列を直接指定するなどの使い方がある。

■例:char_length()とlength()の使い方

SELECT
CHAR_LENGTH('あ') AS char_lengh,
LENGTH('あ') AS length
FROM
(SELECT 1) AS dummy
;


■結果

+----------------...
...
...
read more >>>

(22 件中 1 件目〜 5 件目を表示中)
12345next>>