Проблем с синтаксиса на mySQL

muio

Registered
Здравейте .
Аз съм много бос по mySQL .
Имам следната заявка която изпълнявам директно от phpMyAdmin.

Код:
CREATE TABLE ADPALACE_FAQ (
ID int ( 11 ) unsigned NOT NULL default '0' ,
HEADING_ID int ( 11 ) unsigned NOT NULL default '0' ,
QUESTION varchar ( 255 ) NOT NULL default ' ' ,
ANSWER text NOT NULL ,
SORTORDER int ( 5 ) unsigned NOT NULL default '0' ,
PRIMARY KEY ( ID ) ,
FOREIGN KEY ( HEADING_ID ) REFERENCES PREFIX FAQ_HEADING (
ID
) ON DELETE CASCADE
) TYPE = InnoDB

И ми дава следната грешка

MySQL отговори:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FAQ_HEADING (ID)
ON DELETE CASCADE
) TYPE = InnoDB' at line 9

Ще съм много благодарен ако някой каже къв е проблема със синтаксиса и как би трябвало да се оправи.
Ако може да спомене и няколко думи за какво служат тея ключове
FOREIGN KEY REFERENCES PREFIX ON DELETE CASCADE

Благодаря предварително.
 
Проблема идва от това, че не открива таблицата, от която слагаш външен ключ (foreign key). Може да не си я направил или колоните да са различни. И двете колони трябва да са абсолютно еднакви- тип, стойности по подразбиране, максимален размер ...
FOREIGN KEY REFERENCES PREFIX ON DELETE CASCADE
Това значи, че когато имаш промяна в другата таблица, тя ще се отрази и на тази. Например изтриваш един ред от другата таблица и всички редове в тази таблица свързани с реда от другата ще се изтрият.
 
Мани го това PREFIX

CREATE TABLE ADPALACE_FAQ (
ID int ( 11 ) unsigned NOT NULL default '0' ,
HEADING_ID int ( 11 ) unsigned NOT NULL default '0' ,
QUESTION varchar ( 255 ) NOT NULL default ' ' ,
ANSWER text NOT NULL ,
SORTORDER int ( 5 ) unsigned NOT NULL default '0' ,
PRIMARY KEY ( ID ) ,
FOREIGN KEY ( HEADING_ID ) REFERENCES FAQ_HEADING (
ID
) ON DELETE CASCADE
) TYPE = InnoDB
 
Това означава ли че трябва първо да направя таблицата без тея ключове
и след това да ги добавя примерно така

Код:
ALTER TABLE `user_data`
  ADD CONSTRAINT `user_data_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `user` (`user_id`) ON DELETE CASCADE;

Защото това е цяла база данни и почти всички таблици имат тея ключове и на всичките ми дава грешка.

В смисъл че аз наистина не съм направил таблицата както казваш защото и тя е свързана с тея ключове и ми дава грешка.
 
Знам къде е хелпа на mySQL ама имам малък проблем че е написан на англииски :D

Я ми кажете това PREFIX съществува ли като ключ ?!?
Защото това е декодирано от ionqube и да не би това префикс в моя случай да означава че трябва да сложа ADPALACE_ защото това по принцип е префикса за всички таблици
 
Да така е няма такъв ключ PREFIX това е .
Благодаря ви момчета жалко че не мога да дам точки и на двамата .
 

Back
Горе