Restlesa
پنج شنبه 17 مهر 1393, 23:06 عصر
سلام بر همگی دوستان
در کد T-SQL زیر کد مربوط به ساخت جدول tbl_admin_logs اجرا نمیشه و خطای Cannot add foreign key constraint رو میده
خطاهشا کمکم کنید
CREATE TABLE IF NOT EXISTS `tbl_users` (
`user_id` mediumint(9) unsigned NOT NULL,
`username` varchar(9) COLLATE utf8_persian_ci NOT NULL,
`password` varchar(100) COLLATE utf8_persian_ci NOT NULL,
`user_admin` tinyint(1) NOT NULL DEFAULT '0',
`name` varchar(30) COLLATE utf8_persian_ci NOT NULL,
`degree` varchar(22) COLLATE utf8_persian_ci NOT NULL,
`personnel_code` varchar(9) COLLATE utf8_persian_ci NOT NULL,
`middle_name` varchar(30) COLLATE utf8_persian_ci NOT NULL,
`bc_number` varchar(10) COLLATE utf8_persian_ci NOT NULL,
`national_code` varchar(11) COLLATE utf8_persian_ci NOT NULL,
`employment_date` varchar(10) COLLATE utf8_persian_ci NOT NULL,
`birthplace` varchar(19) COLLATE utf8_persian_ci NOT NULL,
`account_number` varchar(16) COLLATE utf8_persian_ci NOT NULL,
`tel` varchar(13) COLLATE utf8_persian_ci NOT NULL,
`address` text COLLATE utf8_persian_ci NOT NULL,
`avatar` varchar(42) COLLATE utf8_persian_ci NOT NULL,
PRIMARY KEY (`personnel_code`),
UNIQUE KEY `user_id` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_persian_ci;
CREATE TABLE IF NOT EXISTS `tbl_letters` (
`id` mediumint(9) NOT NULL AUTO_INCREMENT,
`personnel_code` varchar(9) COLLATE utf8_persian_ci NOT NULL,
`subject` varchar(50) COLLATE utf8_persian_ci NOT NULL,
`sender` varchar(50) COLLATE utf8_persian_ci NOT NULL,
`date` varchar(11) COLLATE utf8_persian_ci NOT NULL,
`number` varchar(20) COLLATE utf8_persian_ci NOT NULL,
`type_letter` enum('in','out','etc','') COLLATE utf8_persian_ci NOT NULL,
`picture` varchar(42) COLLATE utf8_persian_ci NOT NULL,
`allow_show` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
FOREIGN KEY (`personnel_code`) REFERENCES `tbl_users` (`personnel_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_persian_ci AUTO_INCREMENT=1 ;
CREATE TABLE IF NOT EXISTS `tbl_login_logs` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`ip` varchar(15) NOT NULL,
`count` tinyint(1) NOT NULL DEFAULT '1',
`date` int(11) unsigned NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
CREATE TABLE IF NOT EXISTS `tbl_admin_logs` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(9) NOT NULL,
`date` int(10) unsigned NOT NULL,
`ip` varchar(15) NOT NULL,
`action` tinyint(3) unsigned NOT NULL,
PRIMARY KEY (`id`),
FOREIGN KEY (`username`) REFERENCES `tbl_users` (`personnel_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
در کد T-SQL زیر کد مربوط به ساخت جدول tbl_admin_logs اجرا نمیشه و خطای Cannot add foreign key constraint رو میده
خطاهشا کمکم کنید
CREATE TABLE IF NOT EXISTS `tbl_users` (
`user_id` mediumint(9) unsigned NOT NULL,
`username` varchar(9) COLLATE utf8_persian_ci NOT NULL,
`password` varchar(100) COLLATE utf8_persian_ci NOT NULL,
`user_admin` tinyint(1) NOT NULL DEFAULT '0',
`name` varchar(30) COLLATE utf8_persian_ci NOT NULL,
`degree` varchar(22) COLLATE utf8_persian_ci NOT NULL,
`personnel_code` varchar(9) COLLATE utf8_persian_ci NOT NULL,
`middle_name` varchar(30) COLLATE utf8_persian_ci NOT NULL,
`bc_number` varchar(10) COLLATE utf8_persian_ci NOT NULL,
`national_code` varchar(11) COLLATE utf8_persian_ci NOT NULL,
`employment_date` varchar(10) COLLATE utf8_persian_ci NOT NULL,
`birthplace` varchar(19) COLLATE utf8_persian_ci NOT NULL,
`account_number` varchar(16) COLLATE utf8_persian_ci NOT NULL,
`tel` varchar(13) COLLATE utf8_persian_ci NOT NULL,
`address` text COLLATE utf8_persian_ci NOT NULL,
`avatar` varchar(42) COLLATE utf8_persian_ci NOT NULL,
PRIMARY KEY (`personnel_code`),
UNIQUE KEY `user_id` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_persian_ci;
CREATE TABLE IF NOT EXISTS `tbl_letters` (
`id` mediumint(9) NOT NULL AUTO_INCREMENT,
`personnel_code` varchar(9) COLLATE utf8_persian_ci NOT NULL,
`subject` varchar(50) COLLATE utf8_persian_ci NOT NULL,
`sender` varchar(50) COLLATE utf8_persian_ci NOT NULL,
`date` varchar(11) COLLATE utf8_persian_ci NOT NULL,
`number` varchar(20) COLLATE utf8_persian_ci NOT NULL,
`type_letter` enum('in','out','etc','') COLLATE utf8_persian_ci NOT NULL,
`picture` varchar(42) COLLATE utf8_persian_ci NOT NULL,
`allow_show` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
FOREIGN KEY (`personnel_code`) REFERENCES `tbl_users` (`personnel_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_persian_ci AUTO_INCREMENT=1 ;
CREATE TABLE IF NOT EXISTS `tbl_login_logs` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`ip` varchar(15) NOT NULL,
`count` tinyint(1) NOT NULL DEFAULT '1',
`date` int(11) unsigned NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
CREATE TABLE IF NOT EXISTS `tbl_admin_logs` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(9) NOT NULL,
`date` int(10) unsigned NOT NULL,
`ip` varchar(15) NOT NULL,
`action` tinyint(3) unsigned NOT NULL,
PRIMARY KEY (`id`),
FOREIGN KEY (`username`) REFERENCES `tbl_users` (`personnel_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;