المساعدة - البحث - قائمة الأعضاء - التقويم
نسخة كاملة: ظهور خطأ عند Run Sql Query
برمجة - شبكات - كمبيوتر - منتديات الفريق العربي للبرمجة > منتديات قواعد البيانات > منتدى قواعد بيانات MySQL
كيان
السلام عليكم

ظهر لي هذا الخطأ عندما قمت بعمل run SQL query
وهذا هو الـ query

ALTER TABLE systemAlternative ADD FOREIGN KEY(systemresponsenumber) REFERENCES systemResponse

وهذا هو الخطأ

Error code -1, SQL state X0Y43: Constraint 'SQL080905154305700' is invalid: the number of columns in SQL080905154305700 (1) does not match the number of columns in the referenced key (2).


وانا استخدم برنامج netbeans وبحثت عن هالخطأ بس ماعرفت ايش السبب وكيف ممكن احله

انا عملت اكثر من table وكل واحد له forigen key وماطلع لي هالمشكله الا بآخر table



*

ممكن تساعدوني الله يجزاكم خير ,


شكراً
علاء الصالحي
أظن أنك في المكان الخطأ
لأن هذه المشكلة تكمن في جملة sql
أرجو من أحد المشرفين النقل إلى أقسام قواعد البيانات

تحياتي
ابو سعود الفرنسي
اتوقع ان سبب الخطا هو الاعتمادية .
اعني انه احتمال كبير جدا انك انشات جدول قبل الاخر
ففي بعض الاحيان في اي علاقة يوجد بعض الجداول لابد ان تنشئ قبل جداول اخرى
ويمكن ان هذا السبب في اهمالك لهذه النقطة ( مجرد احتمال )
واذا لم يظهر الخطا . فطرح المشكلة في قسم قواعد البيانات افضل ..
كيان
مااتوقع ياابو سعود , لانه كل الجداول انشئتها اول بعدين ربطت بينهم بالـ FK
شكرا


اتمنى احد يساعدني
ابو سعود الفرنسي
يعني لم رى قاعدة البيانات لكي اعرف اين يكمن الخطأ .
وفي الحقيقة لم اعمل على قاعدة البيانات التي تأتي مع البرنامج .

ولكن يوجد حل بسيط . وهو ان تقومي بانشاء قاعدة البيانات على MySQL مثلا
ومن بعدها تقومي باخذ نسخة ومن ثم وضعها على قاعدة البيانات التي تاتي مع البرنامج
السبب لان قاعدة البيانات هذه سهلة وجميع ما يدار عن طريق قاعدة البيانات بواسطة الواجهه الرسومية
ففي الاخير يظهر يكون لديك جميع اوامر SQL مع اوامر الربط والتعديل ايضا .
وبهذا الطريقة تكسبين الوقت

واذا لم تنفع الطريقة . فاعتقد انه يوجد خطا باحدى العلاقات التي في قاعدة البيانات







man4maya
من هنا الحل
ALTER TABLE 'systemAlternative' ADD FOREIGN KEY('systemresponsenumber')
REFERENCES 'systemResponse'.'systemAlternative' ('systemResponse`) ON DELETE CASCADE ON UPDATE CASCADE ;
كيان
الله يعطيك العافيه ,

جربت الحل السابق لكن للأسف نفس الخطأ , sad.gif

شكراً للمحاوله
كيان
هذي هي السكيما على شان توضح الداتا بيس حقتي

RELATIONAL SCHEMA :

Project(pName )
RelatedFileName(pName,RelatedFileName)
generalFormat(pName , pictureName ,picture)
UseCase(pName , FileName , useCaseName)
Actor(useCaseName,ActorName )
UserAction(ActorName , UserActionNumber)
UserAlternative(UserActionNumber, UID)
SystemResponse(UserActionNumber,SystemResponseNumber)
SystemAlternative(SystemResponseNumber , SID)


Purple = FK

واللي تحته خط هو primary key

المشكله للآن مستمره للأسف

وانا سويت الجداول حسب ترتيبها في ER وحسب علاقتهم ببعض ,


يعطيكم العافيه ويجزاكم خير


man4maya
أخي سأوافيك حالا بالحل بادن الله دقائق ريتما ابني القاعدة و أعطيك الكود
man4maya
هنا الحل بادن الله أخوي القاعدة + الروابط السكريبت كامل و الكمال لله أخوي دعواتك و ان واجهك اي مشكل انا هنا

هناك ايضا السكريبت مرفوق على شكل .sql


-- phpMyAdmin SQL Dump
-- version 2.11.6
-- http://www.phpmyadmin.net
--
-- Serveur: localhost
-- Généré le : Mar 09 Septembre 2008 à 22:07
-- Version du serveur: 5.0.51
-- Version de PHP: 5.2.6

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- Base de données: `data_amine`
--
CREATE DATABASE `data_amine` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
USE `data_amine`;

-- --------------------------------------------------------

--
-- Structure de la table `actor`
--

CREATE TABLE `actor` (
`useCaseName` varchar(200) NOT NULL,
`ActorName` varchar(200) NOT NULL,
PRIMARY KEY (`ActorName`),
UNIQUE KEY `useCaseName` (`useCaseName`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Contenu de la table `actor`
--


-- --------------------------------------------------------

--
-- Structure de la table `generalformat`
--

CREATE TABLE `generalformat` (
`pName` varchar(200) NOT NULL,
`pictureName` varchar(200) NOT NULL,
`picture` varchar(200) NOT NULL,
PRIMARY KEY (`pictureName`),
KEY `pName` (`pName`),
KEY `pName_2` (`pName`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Contenu de la table `generalformat`
--


-- --------------------------------------------------------

--
-- Structure de la table `project`
--

CREATE TABLE `project` (
`pName` varchar(200) NOT NULL,
PRIMARY KEY (`pName`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Contenu de la table `project`
--


-- --------------------------------------------------------

--
-- Structure de la table `relatedfilename`
--

CREATE TABLE `relatedfilename` (
`pName` varchar(200) NOT NULL,
`RelatedFileName` varchar(200) NOT NULL,
PRIMARY KEY (`pName`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Contenu de la table `relatedfilename`
--


-- --------------------------------------------------------

--
-- Structure de la table `systemalternative`
--

CREATE TABLE `systemalternative` (
`SID` varchar(200) NOT NULL,
`SystemResponseNumber` varchar(200) NOT NULL,
PRIMARY KEY (`SID`),
UNIQUE KEY `SystemResponseNumber` (`SystemResponseNumber`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Contenu de la table `systemalternative`
--


-- --------------------------------------------------------

--
-- Structure de la table `systemresponse`
--

CREATE TABLE `systemresponse` (
`SystemResponseNumber` varchar(200) NOT NULL,
`UserActionNumber` varchar(200) NOT NULL,
PRIMARY KEY (`SystemResponseNumber`),
UNIQUE KEY `UserActionNumber` (`UserActionNumber`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Contenu de la table `systemresponse`
--


-- --------------------------------------------------------

--
-- Structure de la table `usecase`
--

CREATE TABLE `usecase` (
`pName` varchar(200) NOT NULL,
`FileName` varchar(200) NOT NULL,
`useCaseName` varchar(200) NOT NULL,
PRIMARY KEY (`useCaseName`),
UNIQUE KEY `pName` (`pName`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Contenu de la table `usecase`
--


-- --------------------------------------------------------

--
-- Structure de la table `useraction`
--

CREATE TABLE `useraction` (
`ActorName` varchar(200) NOT NULL,
`UserActionNumber` varchar(200) NOT NULL,
PRIMARY KEY (`UserActionNumber`),
UNIQUE KEY `ActorName` (`ActorName`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Contenu de la table `useraction`
--


-- --------------------------------------------------------

--
-- Structure de la table `useralternative`
--

CREATE TABLE `useralternative` (
`UID` varchar(200) NOT NULL,
`UserActionNumber` varchar(200) NOT NULL,
PRIMARY KEY (`UID`),
UNIQUE KEY `UserActionNumber` (`UserActionNumber`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Contenu de la table `useralternative`
--


--
-- Contraintes pour les tables exportées
--

--
-- Contraintes pour la table `actor`
--
ALTER TABLE `actor`
ADD CONSTRAINT `actor_ibfk_1` FOREIGN KEY (`useCaseName`) REFERENCES `usecase` (`useCaseName`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Contraintes pour la table `generalformat`
--
ALTER TABLE `generalformat`
ADD CONSTRAINT `generalformat_ibfk_1` FOREIGN KEY (`pName`) REFERENCES `project` (`pName`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Contraintes pour la table `relatedfilename`
--
ALTER TABLE `relatedfilename`
ADD CONSTRAINT `relatedfilename_ibfk_1` FOREIGN KEY (`pName`) REFERENCES `project` (`pName`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Contraintes pour la table `systemalternative`
--
ALTER TABLE `systemalternative`
ADD CONSTRAINT `systemalternative_ibfk_1` FOREIGN KEY (`SystemResponseNumber`) REFERENCES `systemresponse` (`SystemResponseNumber`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Contraintes pour la table `systemresponse`
--
ALTER TABLE `systemresponse`
ADD CONSTRAINT `systemresponse_ibfk_1` FOREIGN KEY (`UserActionNumber`) REFERENCES `useraction` (`UserActionNumber`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Contraintes pour la table `usecase`
--
ALTER TABLE `usecase`
ADD CONSTRAINT `usecase_ibfk_1` FOREIGN KEY (`pName`) REFERENCES `project` (`pName`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Contraintes pour la table `useraction`
--
ALTER TABLE `useraction`
ADD CONSTRAINT `useraction_ibfk_1` FOREIGN KEY (`ActorName`) REFERENCES `actor` (`ActorName`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Contraintes pour la table `useralternative`
--
ALTER TABLE `useralternative`
ADD CONSTRAINT `useralternative_ibfk_1` FOREIGN KEY (`UserActionNumber`) REFERENCES `useraction` (`UserActionNumber`) ON DELETE CASCADE ON UPDATE CASCADE;
mana80
احتمال تكون المشكلة في بيانات الجدولين , بما ان الجدول SystemAlternative به حقل عبارة
مرتبط بالجدول SystemResponse فتأكد ان البيانات في هذا الحقل بالنسبة للجدولين واحدة
لااقصد نفس ال datatype ولكن المدخلات نفسها.
هذه "نسخة - خفيفة" من محتويات الرئيسية للإستعراض الكامل مع المزيد من الصور والخيارات الرجاء إضغط هنا.
Invision Power Board © 2001-2008 Invision Power Services, Inc.