অনুসন্ধানের সমস্যা: কেবলমাত্র একটি স্বয়ং কলাম থাকতে পারে


10

কেউ কি দয়া করে আমাকে এই টেবিল সংজ্ঞাটির সাথে ভুল বলতে পারেন।
mysql সংস্করণটি 5.1.52-লগ

root@localhost spoolrdb> create table spoolqueue (
                             queue int,
                             idx bigint not null auto_increment,
                             status smallint,
                             querystring varchar(2048),
                             contenttype varchar(255),
                             characterencoding varchar(16),
                             body text,
                             primary key(queue,idx)
                             );
ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key

1
আমি এই প্রশ্নটি পছন্দ করি (আপনার জন্য +1) কারণ এটি মাইএসকিউএল গেটচাকে উপস্থাপন করে যা মাইসামের কাছে অনন্য। কেন সবসময় ছেড়ে দেওয়া এবং পুনরায় নকশার চেয়ে বেশি ভাল তা সম্পর্কে জিজ্ঞাসা করা।
রোল্যান্ডোমাইএসকিউএলডিবিএ

উত্তর:


12

এটি স্পষ্টতই মাইআইএসএএম এর সাথে স্টোর ইঞ্জিন হিসাবে কাজ করবে, ইনোডিবি নয়, যদি আপনি এটির সাথে থাকতে পারেন।

এটির কাজ করার আরেকটি উপায় হ'ল যদি আপনি স্থান পরিবর্তন করে queueএবং idxপ্রাথমিক কী ঘোষণায় থাকেন।


1

আপনি idxযদি queueপিকে প্রথম পছন্দ করতে চান তবে আপনি এটির নিজস্ব কীও দিতে পারেন । index(idx)রেখার সংযোজনটি নোট করুন :

create temporary table spoolqueue (
    queue int,
    idx bigint not null auto_increment,
    status smallint,
    querystring varchar(2048),
    contenttype varchar(255),
    characterencoding varchar(16),
    body text,
    primary key(queue,idx),
    index(idx)
);

-1

প্রাথমিক কী থেকে সারি ক্ষেত্রটি সরানোর চেষ্টা করুন। আপনি চাইলে সারি কলামটি সূচী করতে পারেন


4
এই ধরণের টেবিলের পয়েন্টটি পরাস্ত করে।
নিফলে

4
আপনি কি বুঝতে পেরেছেন যে প্রশ্নকারী এড়াতে চাইছেন?
jcolebrand
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.