PDA

View Full Version : شناسایی کاربر در تمامی جداول پایگاه داده mysql



navid1373
دوشنبه 14 خرداد 1397, 15:36 عصر
با سلام خدمت شما دوستان عزیز
من یک جدول به نام register در mysqlساخته ام که افرادیکه درسایت ثبت نام میکنند، مشخصاتشان در آن ذخیره میشود و یک کد خاص به هر فرد داده میشود.
وهمچنین یک جدول دیگری به نام <<زیرمجموعه >> ساخته ام که در این صفحه، برخی کاربران میتوانند کاربران دیگری را به زیرمجموعه خود در بیاورند.
سوال من این است که چگونه در جدول دوم ( جدول زیر مجموعه ) برای شناسایی افراد، از کد های جدول اول (جدول register) استفاده شود؟

charcharkh
سه شنبه 15 خرداد 1397, 10:51 صبح
سلام توی جدول اول آی دی کاربر رو بگیر و یه فیلد توی جدول دوم بزن که مقدار ای دی جدول اول رو ذخیره کنه حالا میتونی جدولاتو هم innodb بزنی که با استفاده از forignkey بهم ریلیشن داشته باشند اگر هم نخواستی myisam بزن و توی کدها با استفاده از join کویری بزنی

خیلی سخت نیست آسونه

navid1373
سه شنبه 15 خرداد 1397, 13:09 عصر
سپاس از پاسختون
اگر امکانش هست یک راه کار تضمین شده برای ساختن کلید خارجی بهم بدید، چون هر روشی که تو وبسایت های مختلف هست رو امتحان کردم، جواب نمیده

charcharkh
سه شنبه 15 خرداد 1397, 14:00 عصر
منظورتون رو از تضمین متوجه نشدم ولی اینو یه نگاه بیانداز

https://www.google.com/search?q=sql+foreign+key&oq=sql+forign&aqs=chrome.1.69i57j0l5.8074j0j7&sourceid=chrome&ie=UTF-8

navid1373
سه شنبه 15 خرداد 1397, 14:20 عصر
منظورتون رو از تضمین متوجه نشدم ولی اینو یه نگاه بیانداز

https://www.google.com/search?q=sql+foreign+key&oq=sql+forign&aqs=chrome.1.69i57j0l5.8074j0j7&sourceid=chrome&ie=UTF-8
اگه امکانش هست ساختن کلید خارجی در phpmyadmin رو توضیح بدید.

charcharkh
سه شنبه 15 خرداد 1397, 15:10 عصر
بفرمایید

https://www.google.com/search?q=how+to+foreign+key+in+phpmyadmin&oq=how+to+forignkey&aqs=chrome.2.69i57j0l5.22649j0j7&sourceid=chrome&ie=UTF-8


یه جستجوی ساده هم توی گوگل بزنی به نتیجه میرسی خیلی سخت نیست

navid1373
سه شنبه 15 خرداد 1397, 15:29 عصر
ببینید من در جدول رجیستر یک ستون به نام id به عنوان کلید اصلی تعریف کردم
و در جدول زیرمجموعه یک ستون به نام admin id تعریف کردم بعد از اون به قسمت structure این جدول رفتم و در قسمت relation فیلد admin id رو کلید خارجی فیلد id قرار دادم در ضمن فیلد admin id رو هم به صورت index قرار دادم
ولی در آخر ارور Error: Field 'admin id' doesn't have a default value رو ازم میگیره . من default value روی none تنظیم کردم و قتی هم که روی null تنظیم میکنم در این ستون همه رکورد ها رو null میزنه.
علتش این ارور چیه؟

charcharkh
سه شنبه 15 خرداد 1397, 16:55 عصر
نبایست null بزاری !!!!!!!!

داره میگه فرمت ستون
admin id' مثل ستون id' در جدول اول نیست

اگر id داره int ذخیره میکنه با طول مثلا 10 اون admin id' هم بایست دقیقا همین باشه

navid1373
سه شنبه 15 خرداد 1397, 17:31 عصر
من دقیقا همین کارو کردم ولی بازم همین پیامو میده

hamidadib
سه شنبه 26 تیر 1397, 10:35 صبح
سلام. برای این برنامه شما لازم هست یک رابطه یک به چند برای جدول هاتون ایجاد کنید
کلید اصلی جدول کاربران شما باید داخل جدول زیر مجموعه ها بیاد تا مشخص بشه کدام کاربر با کدام کاربر ارتباط داره
این لینک رو مطالعه کنید، وقتی به درک کاملی از روابط جدول ها برسید به راحتی میتونید کارتون رو دیباگ کنید
https://code.tutsplus.com/articles/sql-for-beginners-part-3-database-relationships--net-8561

papasi
یک شنبه 28 مرداد 1397, 10:00 صبح
ممنون از مطالب مفیدتون.


نرم افزار حسابداری پاپاسی (http://www.papasi-acc.ir/)