0

ID列(主キーの自動インクリメント)と名前用のもう1つの列があるテーブルがあります。

生成されたID列の値に基づいてフォーマットで挿入しながら、名前列の値を自動的に入力したい

<IDColumnValue>_School

私はこれを行う2つの方法を知っています

  1. トリガーの使用
  2. 最初に行を挿入してから、挿入された行 ID 列の値に基づいてその列の値を更新します

しかし、実際には、このフィールドを非 Nullable にしたいのですが、2 番目のオプションを使用するには、nullable にする必要があります。

フィールドをnull不可にできるように、行を挿入するときにこれを行う直接的な方法はありますか?

4

2 に答える 2

0

コメントで述べたように、name列に一時的な値を使用できます。次のようなリクエストを使用できます。

INSERT INTO `table` VALUES('', 'name') /*let's assume name is the real name you want to insert*/

トリガーの使い方がわかりませんが、次のように書きたいと思うかもしれません:

delimiter #

CREATE TRIGGER update_name_after_insert INSERT ON `table`
for each row
begin
  update `table` set name = CONCAT_WS("_", id, name)
end#
于 2013-07-24T08:33:44.597 に答える