0
のは、私はこのようになりますテーブルがあるとしましょう:使用のID列
CREATE TABLE Foo (
fooSn INT NOT NULL AUTO_INCREMENT,
fooId VARCHAR(64) NOT NULL,
PRIMARY KEY (fooSn)
)
ENGINE=InnoDB
ROW_FORMAT=DYNAMIC;
をそして、私はこのような何かをしたい:
CREATE PROCEDURE insertWithAutoId (
p_myPrefix VARCHAR(32) NOT NULL,
)
BEGIN
INSERT INTO Foo
(fooSn, fooId)
VALUES
(DEFAULT, CONCAT(p_myPrefix, DEFAULT));
END
はこれです可能?
本当にこれが必要な場合は、それを行うhttp://stackoverflow.com/a/17894239/1920232 – peterm
それは複雑ですが、それは動作します!頭がおかげでありがとうが、私はそのルートを下るとは思わない。 – IsenGrim
私は文字列接頭辞とAUTO_INCRMENTから返された値の連結として 'fooId'カラムを格納するための要件を調べるでしょう。別の方法として、プレフィックスを別の列に格納することを検討してください。 2つの列を結合(連結)する必要がある場合は、それを必要とするクエリのSELECTリストに式を使用します。しかし、述語(WHERE句の条件など)でCONCAT()式を使用することは望ましくありません。 – spencer7593