2016-07-30 24 views
1

ALL,mySQL SCHAFFEN FOREIGN KEY

[email protected] ~ $ isql myodbc-5.2-test root wasqra 
+---------------------------------------+ 
| Connected!       | 
|          | 
| sql-statement       | 
| help [tablename]      | 
| quit         | 
|          | 
+---------------------------------------+ 
SQL> use draft; 
SQLRowCount returns 0 
SQL> ALTER TABLE owners ADD FOREIGN KEY id REFERENCES leagues(id); 
[ISQL]ERROR: Could not SQLExecute 
SQL> 

Was mache ich falsch?

Aus irgendeinem Grund kann ich beim Erstellen der Tabelle auch keinen Fremdschlüssel über die mySQL-Workbench erstellen.

Es gibt keine Schaltfläche "Hinzufügen" oder "+", um diese Einschränkung hinzuzufügen. Und es gibt keine Reaktion auf den rechten Klick.

Könnte jemand bitte mich in die richtige Richtung weisen? Ich habe Workbench Version 6.3.4.0 auf Gentoo Linux.

SQL> show tables; 
+-----------------------------------------------------------------+ 
| Tables_in_draft             | 
+-----------------------------------------------------------------+ 
| leagues               | 
| owners               | 
+-----------------------------------------------------------------+ 
SQLRowCount returns 2 
2 rows fetched 
SQL> SELECT * FROM leagues; 
+-----------+-----------------------------------------------------------------------------------------------------+-----------+------------+-----------+-----------+-----------+-------------+ 
| id  | name                        | drafttype | scoringtype| roundvalue| leaguetype| salary | benchplayers| 
+-----------+-----------------------------------------------------------------------------------------------------+-----------+------------+-----------+-----------+-----------+-------------+ 
+-----------+-----------------------------------------------------------------------------------------------------+-----------+------------+-----------+-----------+-----------+-------------+ 
+0

Was ist die andere Tabelle aussehen verwenden? Beide Tabellen. – johnny

Antwort

2

scheint Sie id als Fremdschlüssel verwenden richtige Spalte statt

ALTER TABLE owners 
ADD COLUMN FOREIGNID INT NOT NULL; 

ALTER TABLE owners 
ADD FOREIGN KEY (FOREIGNID) REFERENCES leagues(ID); 
+0

Danke. Anscheinend fehlte mir die Parentesie. – Igor