これが私のストアドプロシージャです
CREATE PROCEDURE `tblCarGarage_Insert`(
URL varchar(700)で、
IN価格int(7)、
IN Make varchar(60)、
INモデルvarchar(60)、
TrimLevel varchar(60)では、
INマイルint(6)、
IN ZipCode int(5)、
IN説明varchar(80)、
INカラーvarchar(30)、
INオーナーvarchar(100)、
IN VIN varchar(20)、
VINKeyCode varchar(12)では、
CarYear int(4)では、
リストIDint(14))
tblcargarageに挿入
SET URL = @ URL、
価格=@Price、
rBit = b'1'、
DateDiscovered = NOW()、
LastProcessDate = NOW()、
CarYear = @CarYear、
Make =
(SELECT uniqueID
tbltranslationmakeから
WHERE make ='ホンダ')、
モデル=
(SELECT uniqueID
tbltranslationmodelから
WHERE model = @Model)、
CarTrim =
(SELECT uniqueID
tbltranslationtrimから
WHEREトリムレベル=@TrimLevel)、
マイル=@Miles、
ZipCode = @ZipCode、
説明=@Description、
色=@Color、
所有者=@Owner、
VIN = @ VIN、
VINKeyCode = @ VinkeyCode、
ListingID = @ListingID;
これが私の処刑です
SET @CarYear ='';
SET @URL ='asdas';
SET @Price = 20112;
SET @Make='ホンダ';
SET @Model='シビック';
SET @TrimLevel ='Ex';
SET @Miles = 20112;
SET @Description ='asdasdasd';
SET @Color='黄色';
SET @Owner ='asdasdas';
SET @VIN ='qeqweqweqw2e';
SET @VinkeyCode ='asd23sd';
SET @ListingID = 1231231;
SET @ZipCode = 12331;
CALL tblCarGarage_Insert(@CarYear、
@ URL、
@価格、
@作る、
@モデル、
@ TrimLevel、
@マイル、
@説明、
@色、
@オーナー、
@ VIN、
@ VinkeyCode、
@ListingID、
@郵便番号)
一意のIDを選択
tbltranslationmakeから
WHERE make='ホンダ'11を返します(intとして)
モデル=
(SELECT uniqueID
tbltranslationmodelから
WHERE model = @Model)、
712をintとして返します
CarTrim =
(SELECT uniqueID
tbltranslationtrimから
WHEREトリムレベル=@TrimLevel)、
12334をintとして返します。
はい、これら3つの列はすべて私のDBのINTです。
クエリを非SPとして実行した場合、クエリをasd set x ='x' ectに挿入すると、'Column'Make'をnullにすることはできません...同じ値で問題なく動作します。何か案が?
ありがとう!
これは、varcharとintを期待するテーブルを渡すことで何かをしなければなりません。多分それは正しいエラーを返していませんか?