টেবিলে আমার কাছে একটি অনন্য যৌগিক কী রয়েছে (বিড, টোয়াইট), যখন আমি ব্যাখ্যা দিয়ে ক্যোয়ারি চালাই আমি নিম্নলিখিত ফলাফলটি পাই:
Impossible WHERE noticed after reading const tables`
আমি যে ক্যোয়ারীটি চালিয়েছি:
explain SELECT rid FROM relationship WHERE fromid=78 AND toid=60
কোন সাহায্য?
সম্পাদনা 1:
যখন আমি নীচের কোয়েরিটি ব্যবহার করি:
explain SELECT rid FROM relationship WHERE fromid=60 and toid=78 AND is_approved='s' OR is_approved='f' OR is_approved='t'
আমি USING WHERE
আগের বার্তার পরিবর্তে দেখতে পাচ্ছি , কিন্তু যখন আমি নীচের কোয়েরিটি ব্যবহার করি:
explain SELECT rid FROM relationship WHERE fromid=60 and toid=78 AND (is_approved='s' OR is_approved='f' OR is_approved='t')
আমি আবার প্রথম impossible ...
বার্তা পেতে ! এই বন্ধনী এখানে কি করে?
EDIT2:
CREATE TABLE `relationship` (
`rid` int(10) unsigned NOT NULL AUTO_INCREMENT,
`fromid` mediumint(8) unsigned NOT NULL,
`toid` mediumint(8) unsigned NOT NULL,
`type` tinyint(3) unsigned NOT NULL,
`is_approved` char(1) NOT NULL,
PRIMARY KEY (`rid`),
UNIQUE KEY `fromid` (`fromid`,`toid`),
KEY `toid` (`toid`),
CONSTRAINT `relationship_ibfk_1` FOREIGN KEY (`fromid`) REFERENCES `user` (`uid`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `relationship_ibfk_2` FOREIGN KEY (`toid`) REFERENCES `user` (`uid`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB
সম্পাদনা 3: যেমন মাইএসকিএল
সাইট বলে:
অসম্ভব যেখানে কনস্ট্ট টেবিলগুলি পড়ার পরে লক্ষ্য করা গেছে
মাইএসকিউএল সমস্ত কনস্ট (এবং সিস্টেম) সারণী পড়েছে এবং লক্ষ্য করেছে যে যেখানে বিধিটি সর্বদা মিথ্যা।
তবে ক্যোয়ারিতে আমি যে ফলাফলটি পেতে চাই তা পেয়েছি, WHERE
অংশটি নেই false
। এমন কেউ আছেন যিনি এটি ব্যাখ্যা করতে এবং এই বিষয়ে কিছু আলোকপাত করতে পারেন?
using index
পরিবর্তে অতিরিক্ত কিছু থাকবেimpossible...
SELECT COUNT(1) FROM relationship WHERE fromid=78 AND toid=60;
ফিরবে ???