با سلام
کسی میتونه منو راهنمایی کنه؟
با سلام
کسی میتونه منو راهنمایی کنه؟
Last edited by hamedarian2009; 30-11-2012 at 12:43.
وقتی میخام join کنم این پیغام خطارو میده :
Error
SQL query:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] `customers` ADD FOREIGN KEY ( `customerid` ) REFERENCES `laptop`.`orders` (
`customerid`
) ON [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] RESTRICT ON [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] RESTRICT ;
MySQL said: [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
#1452 - Cannot add or update a child row: a foreign key constraint fails (`laptop`.<result 2 when explaining filename '#sql-a08_5b'>, CONSTRAINT `#sql-a08_5b_ibfk_1` FOREIGN KEY (`customerid`) REFERENCES `orders` (`customerid`))
سلام
این که شما انجام دادید جوین کردن نیست. این کلید خارجی به جدولها اضافه میکنه که دو تا جدول رو با هم مرتبط میکنه. برای جوین کردن لزوماً نیاز نیست کلید خارجی وجود داشته باشه. ضمن اینکه کلید خارجی در همه انجین های mysql قابل استفاده نیست. مهمترینش myisam هست که کلید خارجی رو نادیده میگیره
برای جوین کردن اینطور که از کدتون میشه برداشت کرد میتونید از این کوئری استفاده کنید (فیلدها رو باید مطابق نیازتون ویرایش کنید و احتمالاً WHERE هم اضافه کنید...):
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
خب من میخام دوتا جدولو بهم ربط بدم که آخرش وقتی دیاگرامشو بیارم جدولا با یک خط به یکدیگر متصل باشن .
اینو تا sql server انجام دادم ولی اینجا نمیشه
خوب پس باید چند نکته رو در نظر بگیرید:
اول اینکه انجینی که استفاده میکنید باید InnoDB باشه.
بعد هم چک کنید که نوع فیدلها در هر دو جدول یکسان باشه.
در نهایت هم بهتره که جدول ها خالی باشه. چون اگر خالی نباشه و اطلاعاتی که داخلش هست معتبر نباشه (مثلاً یک کلید استفاده شده باشه که در جدول مرجع وجود نداشته باشه) همین ارور رو که گذاشتید میده و کلید خارجی اضافه نمیشه.
اگر به هر دلیلی نمیتونید جدول رو خالی کنید باید چک کنید که همه رکوردهای جدولی که کلید خارجی داره معتبر باشند.
خیلی خیلی ممنون
من همه مواردو درست انجام داده بودم فقط جدولم چون پر بود این ارور رو میداد. جداولو خالی کردم درست شد.
فقط یک سوال دیگه تو my sql چطوری دیاگرامشو ببینیم جوری که ارتباط جداولو بهم نشون بده تو sql server انجام دادم ولی my sql نمیدونم کجاست؟
mysql فقط سروره و gui نداره
برای رابط گرافیکی میتونید از نرم افزارهای دیگه استفاده کنید. من از navicat استفاده میکنم. فکر میکنم mysql workbench هم چنین امکانی داشته باشه
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)