3

以下は私のテーブルの様子です

create table tab (id INT, fullname varchar(100));

データは

insert into tab values
(1,'Full Name 1'),
(2,'Full Name 2'),
(3,'Full Name 3'),
(4,'Full Name 4'),
(5,'Full Name 5'),
(6,'Full Name 6');

fullnameasでテーブルを更新したいMy Full Name is + actuallfullname。たとえば、id 1 のデータは である必要がありますMy Full Name is Full Name 1

これを 1 つのクエリで実行する方法はありますか?

以下のクエリを使用すると、非常に多くのレコードがあるため、n回実行されます。

UPDATE tab SET fullname='My Full Name is Full Name 1';

sqlfiddle

4

4 に答える 4

7

を使用しCONCATます。

UPDATE tab 
SET fullname = CONCAT('My Full Name is ', fullname)

SQLFiddle デモ

于 2012-10-16T08:36:37.763 に答える
3

MySQL のCONCAT()関数を使用できます。

UPDATE tab SET fullname = CONCAT('My Full Name is ', fullname);

しかし、これは本当にデータベースに属していますか? アプリケーションのプレゼンテーション層で通常実行するようなものです。

于 2012-10-16T08:37:13.360 に答える
2

参照CONCAT

UPDATE tab SET fullname=CONCAT('My Full Name is ',fullname);
于 2012-10-16T08:36:46.093 に答える
1
UPDATE tab SET fullname = CONCAT('My Full Name is ' , fullname)
于 2012-10-16T08:37:59.017 に答える