Προβλημα με ξενο κλειδι στο MySQL administrator

Συζητήσεις για την βάση δεδομένων MySQL και το phpMyAdmin

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
soulatsos
Δημοσιεύσεις: 11
Εγγραφή: 25 Οκτ 2005 22:11

Προβλημα με ξενο κλειδι στο MySQL administrator

Δημοσίευση από soulatsos » 26 Μάιος 2006 17:35

Προσπαθω να δηλωσω ενα column name σαν ξενο κλειδι αλλα οταν εκτελω την εντολη μου εμφανιζεται

MySQL error 1005
cannot create table orders (errno 150)

Πιο συγκεκριμενα φτιαχνω τη βαση για ενα e-shop,και στον πινακα orders θελω να βαλω σαν ξενο κλειδι το user_id το οποιο αναφερεται στον πινακα users.Τη βαση την εχω βαλει να ειναι InnoDB και συμπληρωνω κατω την παλετα με τα foreign keys με τα απαραιτητα στοιχεια.
Μπορει καποιος να με βοηθησει δινοντας μου ενα απλο παραδειγμα δηλωσης ξενου κλειδιου στο MySQL administrator???

Ευχαριστω πολυ...

Άβαταρ μέλους
shadow
Script Master
Δημοσιεύσεις: 606
Εγγραφή: 14 Απρ 2005 18:30

Προβλημα με ξενο κλειδι στο MySQL administrator

Δημοσίευση από shadow » 26 Μάιος 2006 22:00

Take a look
Close your eyes
For your eyes will only tell the truth and the truth isnt what you want to see
In the dark, is it easy to pretend that the truth is it ought to be.
Programmers are programmers because they like to code

soulatsos
Δημοσιεύσεις: 11
Εγγραφή: 25 Οκτ 2005 22:11

Προβλημα με ξενο κλειδι στο MySQL administrator

Δημοσίευση από soulatsos » 27 Μάιος 2006 01:10

Δυστυχως δεν εβγαλα ακρη ουτε απο κει.
Μηπως παιζει κανενα ρολο η version Mysql που εχω 4.0.20α?
Επισης το InnoDB το εχω ορισει μεσα απο το mysql administrator στις αντιστοιχες παλετες.Μηπως θα επρεπε να το κανω και manually σε καποιο αρχειο ρυθμισεων της sql?

soulatsos
Δημοσιεύσεις: 11
Εγγραφή: 25 Οκτ 2005 22:11

Προβλημα με ξενο κλειδι στο MySQL administrator

Δημοσίευση από soulatsos » 29 Μάιος 2006 01:18

Παιδια υπαρχει κανεις που να μπορει να βοηθησει???Απευθυνω εκκληση sos:) γιατι ειναι για τη διπλωματικη μου και εχω κολλησει και στενευουν τα χρονικα περιθωρια.Ευχαριστω...

Άβαταρ μέλους
cordis
Administrator, [F|H]ounder, [C|S]EO
Δημοσιεύσεις: 27617
Εγγραφή: 09 Οκτ 1999 03:00
Τοποθεσία: Greece
Επικοινωνία:

Προβλημα με ξενο κλειδι στο MySQL administrator

Δημοσίευση από cordis » 30 Μάιος 2006 17:13

μα δε μας δίνεις και τις εντολές που έχεις τρέξει να το δούμε κι εμείς...
Δεν απαντάω σε προσωπικά μηνύματα με ερωτήσεις που καλύπτονται από τις ενότητες του forum. Για ο,τι άλλο είμαι εδώ για εσάς.
- follow me @twitter

soulatsos
Δημοσιεύσεις: 11
Εγγραφή: 25 Οκτ 2005 22:11

Προβλημα με ξενο κλειδι στο MySQL administrator

Δημοσίευση από soulatsos » 05 Ιουν 2006 16:26

Λοιπον,αφου εχω φτιαξει ηδη των πινακα orders στη βαση μου(pizzaonline),παω στην παλετα foreign keys και κανω add και συμπληρωνω σαν ονομα του fk το customerid οποιο ειναι και το αντιστοιχο πεδιο στον πινακα orders και αναφερεται στον πινακα users στο πεδιο user_id,μετα παταω apply changes και μου εμφανιζει οτι θα τρεξει τις εξης εντολες

ALTER TABLE 'pizzaonline'.'orders'
ADD CONSTRAINT 'customerid'
FOREIGN KEY 'customerid'('customerid')
REFERENCES 'users'('user_id')
ON DELETE RESTRICT
ON UPDATE RESTRICT;

και μετα μου εμφανιζει το error που εγραψα στο πιο πανω post.

Το πεδιο user_id ειναι primary key στον πινακα users,integer,not null,unsigned,default value=null
Το πεδιο customerid δεν ειναι primary key στον πινακα orders,ειναι integer,not null,unsigned και default value ειναι κενο

Επισης οι παλετες Table options και Advanced options εχουν τις ιδιες ρυθμισεις και στους δυο πινακες,και ειναι και οι δυο InnoDB.

Ελπιζω τωρα να μπορεσει να με βοηθησει καποιος,αν θελετε και αλλες πληροφοριες πειτε μου τι να το γραψω,ευχαριστω και παλι.

soulatsos
Δημοσιεύσεις: 11
Εγγραφή: 25 Οκτ 2005 22:11

Προβλημα με ξενο κλειδι στο MySQL administrator

Δημοσίευση από soulatsos » 19 Ιουν 2006 14:48

Κανεις για βοηθεια???

Δοκιμασα και μεσω του query browser και εγραψα χυμα κωδικα αλλα και παλι το ιδιο error.Δοκιμασα να κανω και Index το ξενο κλειδι πριν το δηλωσω οπως λεει και στο documentation της mysql.com αλλα και παλι τπτ.Εκτελεσα τον παρακατω κωδικα

create table orders (
order_id int unsigned not null auto_increment,
customer_id int(11) unsigned not null,
amount float(6,2),
imerominia date not null,
order_status char(10),
primary key(order_id),
index(customer_id),
foreign key(customer_id) references users(user_id)
on delete set null
on update cascade
)
TYPE = InnoDB;

Οποιος μπορει ας βοηθησει γιατι δεν ξερω τι αλλο να κανω.Αν αλλαξω version Mysql λογικα θα μου διαλυθει ολη η μεχρι τωρα βαση και οι συνδεσεις με το site οποτε φτου και απο την αρχη...

Ευχαριστω εκ των προτερων...

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6230
Εγγραφή: 30 Νοέμ 2004 03:09

Προβλημα με ξενο κλειδι στο MySQL administrator

Δημοσίευση από fafos » 19 Ιουν 2006 19:00

Gia des an sou kanei to parakato:

Κώδικας: Επιλογή όλων

create table `orders` (
`order_id` int(20) unsigned not null auto_increment,
`customer_id` int(11) unsigned not null,
`amount` float(6,2),
`imerominia` date not null,
`order_status` char(10),
primary key(`order_id`),
index(`customer_id`), 
constraint foreign key (`customer_id`) references `users` (`order_id`) on delete cascade on update cascade
) TYPE=InnoDB;

soulatsos
Δημοσιεύσεις: 11
Εγγραφή: 25 Οκτ 2005 22:11

Προβλημα με ξενο κλειδι στο MySQL administrator

Δημοσίευση από soulatsos » 19 Ιουν 2006 21:22

Φιλε με εσωσες,δεν εχω καταλαβει ακομα τι λαθος εκανα παντως δουλεψε μια χαρα.
Thanks a lot...

Απάντηση

Επιστροφή στο “MySQL”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες