0

MySQl テーブルには、2 つのフィールドidorder. idは自動インクリメントの主キーであり、の初期値をこれと一致させたいorderが、キーではなく、一意性の制約なしで編集可能にしたい。データベース挿入メソッドでこれを達成するにはどうすればよいですか? 最後に挿入された ID を見つけるために再クエリを実行せずにそれを行うことは可能ですか?

私は paris/idiorm を使用しているので、それらの機能を利用したソリューションが便利ですが、プレーンな SQL と php も問題ありません。

4

1 に答える 1

3

MySQL (バージョン 5.0.2 以降) では、トリガーを作成できます。

非本番データベースでこれを試してください:

create trigger default_order_value AFTER INSERT ON orders
     UPDATE order SET order = id WHERE id = new.id;

希望どおりに動作しない場合がありますが、編集することはできます。これは別のトリガーの例です。

CREATE TRIGGER default_order
    BEFORE UPDATE ON orders
    REFERENCING NEW ROW AS n
    n.order = n.id;
于 2012-02-19T16:04:48.600 に答える