0

mysql ユーザーを列としてデータベースに追加することは可能ですか?

次の表があるとします。

CREATE TABLE message(
   id INT AUTO_INCREMENT NOT NULL,
   title VARCHAR(255),
   message TEXT,
   last_edited TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
   PRIMARY KEY (id)
) ENGINE=INNODB;

現在のmysqlユーザーを取得してそこに挿入し、TIMESTAMPデータ型の動作と同様に自動的に更新する「editor」列を追加します。これを行うことができますか?もしそうなら、どのような種類のデータ型を使用する必要がありますか(USERのような型がありますか、単純なvarcharを使用する必要がありますか?

4

1 に答える 1

1
CREATE TABLE message(
   id INT AUTO_INCREMENT NOT NULL,
   title VARCHAR(255),
   message TEXT,
   last_edited TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
   editor VARCHAR(50) NOT NULL,
   PRIMARY KEY (id),
   UNIQUE INDEX `editor`(`editor`)
) ENGINE=INNODB;

そして挿入しながら・・・。使用する

INSERT INTO `message`(`columns..`, `editor`)
    VALUES( <YOUR VALUES>, CURRENT_USER() )
ON DUPLICATE KEY UPDATE
    `editor` = CURRENT_USER();
于 2013-04-06T08:22:24.437 に答える