これが私のストアドプロシージャです
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を期待するテーブルを渡すことで何かをしなければなりません。多分それは正しいエラーを返していませんか?