2016-04-08 12 views
1

テーブルに生成された列を追加した後、このエラーが発生します。でも、この二重のデシベルを取得しているMysql 1292:誤ったDOUBLE値を切り捨て

UPDATE aspnetusers SET FirstName = 'somename' WHERE Id = 1; 
FirstName column is varchar 
Id column is int 

: クエリは、このですか?私は、この生成された列を追加した後

このエラーが開始しました:私はこの列を削除した場合

"ALTER TABLE aspnetusers ADD FullName varchar(135) GENERATED ALWAYS AS (FirstName + ' ' + LastName) VIRTUAL;" 

を、このエラーが表示されなくなります。

どのような考えですか?

答えて

2

使用CONCAT

ALTER TABLE aspnetusers 
ADD FullName varchar(135) 
GENERATED ALWAYS AS (CONCAT(FirstName , ' ' , LastName)) VIRTUAL; 

MySQLは文字列を連結する+を使用していません。あなたが得るエラーは、暗黙の文字列から数値への変換によって引き起こされます。

+0

私はこれを試してみよう – victor

+0

あなたはSQL構文に誤りがあります。あなたのMySQLサーバのバージョンに対応するマニュアルをチェックし、正しい構文が1行目の 'CONCAT(FirstName、'、LastName)VIRTUAL 'の近くで使用するようにしてください。 – victor

+0

@victor今すぐ試してください。式は '()'で囲まれています – lad2025

関連する問題