How to import a table that was deleted with foreign keys? - mysql

I have deleted a table from my server called 'companies' that has foreign keys and also has relationships with other tables. Now I'm trying to import the table again with a backup I download, but it throws an error of incorrectly formed foreign keys
I have tried to create just the table with 2 charts a name and an id, but it's not working it also throws the error of Foreign key constraint is incorrectly formed.
CREATE TABLE `companies` (
`id` int(10) UNSIGNED NOT NULL,
`company_name` varchar(191) COLLATE utf8_unicode_ci NOT NULL,
`company_email` varchar(191) COLLATE utf8_unicode_ci NOT NULL,
`company_phone` varchar(191) COLLATE utf8_unicode_ci NOT NULL,
`logo` varchar(191) COLLATE utf8_unicode_ci DEFAULT NULL,
`login_background` varchar(191) COLLATE utf8_unicode_ci DEFAULT NULL,
`address` text COLLATE utf8_unicode_ci NOT NULL,
`website` varchar(191) COLLATE utf8_unicode_ci DEFAULT NULL,
`currency_id` int(10) UNSIGNED DEFAULT NULL,
`package_id` int(10) UNSIGNED DEFAULT NULL,
`package_type` enum('monthly','annual') COLLATE utf8_unicode_ci NOT NULL
DEFAULT 'monthly',
`timezone` varchar(191) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'Asia/Kolkata',
`date_format` varchar(20) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'd-m-Y',
`time_format` varchar(20) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'h:i a',
`locale` varchar(191) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'en',
`latitude` decimal(10,8) NOT NULL DEFAULT 26.91243360,
`longitude` decimal(11,8) NOT NULL DEFAULT 75.78727090,
`leaves_start_from` enum('joining_date','year_start') COLLATE utf8_unicode_ci NOT NULL DEFAULT 'joining_date',
`active_theme` enum('default','custom') COLLATE utf8_unicode_ci NOT NULL DEFAULT 'default',
`status` enum('active','inactive','license_expired') COLLATE utf8_unicode_ci NOT NULL DEFAULT 'active',
`last_updated_by` int(10) UNSIGNED DEFAULT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
`stripe_id` varchar(191) COLLATE utf8_unicode_ci DEFAULT NULL,
`card_brand` varchar(191) COLLATE utf8_unicode_ci DEFAULT NULL,
`card_last_four` varchar(191) COLLATE utf8_unicode_ci DEFAULT NULL,
`trial_ends_at` timestamp NULL DEFAULT NULL,
`licence_expire_on` date DEFAULT NULL
)ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
Error Message:
(Error: 150 "Foreign key constraint is incorrectly formed")

First is to get all foreign keys of "Comapanies" table using this query.
Then drop all foreign keys
ALTER TABLE `companies`
DROP FOREIGN KEY `id_name_fk`;
Then execute your create table statement

Related

What is the ACTION keyword in MySQL

What is the Action keyword in MySQL? I'm converting a MySQL query into cockroachdb query and the MySQL query I'm seeing is:
CREATE TABLE tabDocType Action (
name varchar(140) COLLATE utf8mb4_unicode_ci NOT NULL,
creation TIMESTAMP(6) DEFAULT NULL,
modified TIMESTAMP(6) DEFAULT NULL,
modified_by varchar(140) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
owner varchar(140) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
docstatus INT NOT NULL DEFAULT 0,
parent varchar(140) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
parentfield varchar(140) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
parenttype varchar(140) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
idx INT NOT NULL DEFAULT 0,
label varchar(140) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
group varchar(140) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
action_type varchar(140) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
action text COLLATE utf8mb4_unicode_ci DEFAULT NULL,
PRIMARY KEY (name)
);
Also is Link also a keyword? It's not in the docs but I'm not quite sure what it's actually doing here:
CREATE TABLE `tabDocType Link` (
`name` varchar(140) COLLATE utf8mb4_unicode_ci NOT NULL,
`creation` TIMESTAMP(6) DEFAULT NULL,
`modified` TIMESTAMP(6) DEFAULT NULL,
`modified_by` varchar(140) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`owner` varchar(140) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`docstatus` INT NOT NULL DEFAULT 0,
`parent` varchar(140) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`parentfield` varchar(140) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`parenttype` varchar(140) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`idx` INT NOT NULL DEFAULT 0,
`group` varchar(140) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`link_doctype` varchar(140) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`link_fieldname` varchar(140) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
PRIMARY KEY (`name`),
KEY `parent` (`parent`),
KEY `modified` (`modified`)
)
From the docs, https://dev.mysql.com/doc/refman/8.0/en/keywords.html, ACTION seems to be a keyword but it doesn't have details on it.
Perhaps they are not keywords at all but serves a different purpose? Thank you.
So looks like it's not a keyword, it's part of the table name. Spaces are allowed in a table name as long as the name is in the back tick.
https://www.tutorialspoint.com/can-we-create-a-table-with-a-space-in-name-in-mysql
It has nothing to do with reserved words, create table has no ACTION attribute
As you can read up on the home page about create table
Still group in your create table is a reserved word
CREATE TABLE tabDocType (
name varchar(140) COLLATE utf8mb4_unicode_ci NOT NULL,
creation TIMESTAMP(6) DEFAULT NULL,
modified TIMESTAMP(6) DEFAULT NULL,
modified_by varchar(140) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
owner varchar(140) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
docstatus INT NOT NULL DEFAULT 0,
parent varchar(140) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
parentfield varchar(140) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
parenttype varchar(140) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
idx INT NOT NULL DEFAULT 0,
`label` varchar(140) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`group` varchar(140) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
action_type varchar(140) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
action text COLLATE utf8mb4_unicode_ci DEFAULT NULL,
PRIMARY KEY (name)
);
To answer your literal question, ACTION is a reserved word because one of the possible ON DELETE/ON UPDATE reference option values for a foreign key constraint is NO ACTION; see https://dev.mysql.com/doc/refman/8.0/en/create-table-foreign-keys.html

MySQL does not recognize possible_keys in join

I tried to query by join 2 tables giao_vien and lop_mon.
The following is my tables structure:
CREATE TABLE `lop_mon` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`key_index` varchar(250) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
`khoi_key_index` varchar(250) DEFAULT NULL,
`lop_key_index` varchar(250) DEFAULT NULL,
`gv_key_index` varchar(250) DEFAULT NULL,
`mon_key_index` varchar(250) DEFAULT NULL,
`ma_so` varchar(50) DEFAULT NULL,
`ma_phong` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
`nam_hoc` int(11) NOT NULL,
`ma_truong` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
`ma_khoi` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
`ma_lop` varchar(50) NOT NULL,
`ma_giao_vien` varchar(50) NOT NULL,
`ma_mon_hoc` varchar(50) DEFAULT NULL,
`hoc_ky` tinyint(4) NOT NULL,
`guid` varchar(250) DEFAULT NULL,
`processid_monhoc` int(11) DEFAULT NULL,
`processid_giaovien` int(11) DEFAULT NULL,
`processid_canbo` int(11) DEFAULT NULL,
`source_data` varchar(50) DEFAULT NULL,
`ten_gv_chat_ph` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
`ma_giao_vien_bgd` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
`ma_lop_bgd` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
`ma_mon_hoc_bgd` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
`gv_guid` char(36) DEFAULT NULL,
`truong_key_index` varchar(255) DEFAULT NULL,
`create_date` datetime DEFAULT NULL,
`updatedAt` datetime DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `key_UNIQUE` (`key_index`),
UNIQUE KEY `unique_lop_mon_gv_keyindex_hoc_ky` (`lop_key_index`,`gv_key_index`,`mon_key_index`,`hoc_ky`) USING BTREE,
KEY `lopmon_keyindex` (`mon_key_index`),
KEY `lopmon_idx_mamonhoc` (`ma_mon_hoc`),
KEY `idx_gv_key_index` (`gv_key_index`),
KEY `lopmon_idx_lop_key_index` (`lop_key_index`),
KEY `lopmon_idx_key_index` (`khoi_key_index`),
KEY `lopmon_idx_ma_truong` (`ma_truong`),
KEY `lopmon_idx_nam_hoc` (`nam_hoc`),
KEY `lopmon_idx_ma_khoi` (`ma_khoi`),
KEY `lopmon_idx_hoc_ky` (`hoc_ky`),
KEY `lopmon_idx_key_lop_mon` (`lop_key_index`,`mon_key_index`),
KEY `lopmon_idx_key_lop_gv` (`lop_key_index`,`gv_key_index`),
KEY `lopmon_idx_key_mon_gv` (`mon_key_index`,`gv_key_index`),
KEY `lopmon_idx_key_lop_mon_gv` (`lop_key_index`,`mon_key_index`,`gv_key_index`),
KEY `lopmon_idx_key_truong_lop_mon_gv` (`ma_truong`,`lop_key_index`,`mon_key_index`,`gv_key_index`),
KEY `lop_mon__index_gv_guid` (`gv_guid`),
KEY `lopmon_idx_truong_key_index` (`truong_key_index`)
) ENGINE=MyISAM AUTO_INCREMENT=23142297 DEFAULT CHARSET=latin1
My Query:
select * from giao_vien inner join lop_mon on lop_mon.gv_key_index = giao_vien.key_index
where giao_vien.key_index = 'shcm_2019_01645344018'
When I explain it:
MySQL does not recognize the key:
KEY `idx_gv_key_index` (`gv_key_index`)
I check another query:
SELECT * FROM enetviet.lop_mon where gv_key_index = 'shcm_2019_01645344018';
The key idx_gv_key_index is still work. I don't know what is the problem.

How to fix 1709 - Index column size too large. The maximum column size is 767 bytes. in mysql in XAMPP

I'm importing a new table as Users, into my database but it is showing an error
1709 - Index column size too large. The maximum column size is 767 bytes.
I am having
Server version: 10.1.16-MariaDB
PHP version: 7.2.14
phpmyAdmin Version : Version information: 4.8.4
DROP TABLE IF EXISTS `users`;
CREATE TABLE IF NOT EXISTS `users` (
`id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`first_name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`last_name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`username` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`email_show` tinyint(1) NOT NULL DEFAULT '0',
`email_confirmed` tinyint(1) NOT NULL DEFAULT '0',
`iso2` varchar(5) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`phone` varchar(16) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`dob` date DEFAULT NULL,
`gender` tinyint(1) NOT NULL DEFAULT '0' COMMENT '0=> Not Specified,1=> Male, 2=> Female',
`phone_show` tinyint(1) NOT NULL DEFAULT '0',
`phone_confirmed` tinyint(1) NOT NULL DEFAULT '0',
`country_id` int(10) UNSIGNED DEFAULT NULL,
`state_id` int(10) UNSIGNED DEFAULT NULL,
`city_id` int(11) DEFAULT NULL,
`confirmation_code` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`created_by` int(10) UNSIGNED DEFAULT NULL,
`updated_by` int(10) UNSIGNED DEFAULT NULL,
`password` varchar(60) COLLATE utf8mb4_unicode_ci NOT NULL,
`options` text COLLATE utf8mb4_unicode_ci,
`confirmed` tinyint(1) NOT NULL DEFAULT '0',
`active` tinyint(1) NOT NULL DEFAULT '0',
`phone_code` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`provider` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`provider_id` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`remember_token` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`company_name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`portfolio` text COLLATE utf8mb4_unicode_ci,
`opening_time` time DEFAULT NULL,
`closing_time` time DEFAULT NULL,
`address` text COLLATE utf8mb4_unicode_ci,
`education` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`notary_number` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`monday_opening_time` time DEFAULT NULL,
`monday_closing_time` time DEFAULT NULL,
`thuesday_opening_time` time DEFAULT NULL,
`thuesday_closing_time` time DEFAULT NULL,
`wednesday_opening_time` time DEFAULT NULL,
`wednesday_closing_time` time DEFAULT NULL,
`thursday_opening_time` time DEFAULT NULL,
`thursday_closing_time` time DEFAULT NULL,
`friday_opening_time` time DEFAULT NULL,
`friday_closing_time` time DEFAULT NULL,
`saturday_opening_time` time DEFAULT NULL,
`saturday_closing_time` time DEFAULT NULL,
`sunday_opening_time` time DEFAULT NULL,
`sunday_closing_time` time DEFAULT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `users_email_unique` (`email`),
KEY `users_country_id_index` (`country_id`),
KEY `users_area_id_index` (`state_id`),
KEY `users_created_by_index` (`created_by`),
KEY `users_updated_by_index` (`updated_by`)
) ENGINE=InnoDB AUTO_INCREMENT=33 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
MySQL said:
1709 - Index column size too large. The maximum column size is 767 bytes.
In the last line of the creation table code try changing this:
ENGINE=InnoDB AUTO_INCREMENT=33 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
To this:
ENGINE=InnoDB AUTO_INCREMENT=33 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COLLATE=utf8mb4_unicode_ci;

What is wrong in this MySQL syntax?

What is wrong here?
I exported this table from my local pma and trying to upload it on remote sever.
CREATE TABLE IF NOT EXISTS `posts` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`banna` text COLLATE utf8_croatian_ci,
`bannb` text COLLATE utf8_croatian_ci,
`img` varchar(255) COLLATE utf8_croatian_ci DEFAULT NULL,
`images` text COLLATE utf8_croatian_ci,
`title` varchar(255) COLLATE utf8_croatian_ci DEFAULT NULL,
`subtitle` varchar(255) COLLATE utf8_croatian_ci DEFAULT NULL,
`story` mediumtext COLLATE utf8_croatian_ci,
`status` varchar(255) COLLATE utf8_croatian_ci DEFAULT NULL,
`tags` varchar(255) COLLATE utf8_croatian_ci DEFAULT NULL,
`auth` varchar(255) COLLATE utf8_croatian_ci DEFAULT NULL,
`moder` varchar(255) COLLATE utf8_croatian_ci DEFAULT NULL,
`linked` json DEFAULT NULL,
`inde` int(11) DEFAULT NULL,
`count` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=382 DEFAULT CHARSET=utf8 COLLATE=utf8_croatian_ci
Error:
#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 'json DEFAULT NULL,
`inde` int(11) DEFAULT NULL,
`count` int(11) DEFAULT NULL' at line 15
I have run your query on mysql version 5.7.21, it works fine, No error thrown, so it seems to me mysql version related issue raised in your site, here is the execution result
CREATE TABLE IF NOT EXISTS `posts` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`banna` text COLLATE utf8_croatian_ci,
`bannb` text COLLATE utf8_croatian_ci,
`img` varchar(255) COLLATE utf8_croatian_ci DEFAULT NULL,
`images` text COLLATE utf8_croatian_ci,
`title` varchar(255) COLLATE utf8_croatian_ci DEFAULT NULL,
`subtitle` varchar(255) COLLATE utf8_croatian_ci DEFAULT NULL,
`story` mediumtext COLLATE utf8_croatian_ci,
`status` varchar(255) COLLATE utf8_croatian_ci DEFAULT NULL,
`tags` varchar(255) COLLATE utf8_croatian_ci DEFAULT NULL,
`auth` varchar(255) COLLATE utf8_croatian_ci DEFAULT NULL,
`moder` varchar(255) COLLATE utf8_croatian_ci DEFAULT NULL,
`linked` json DEFAULT NULL,
`inde` int(11) DEFAULT NULL,
`count` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
)
ENGINE = InnoDB
AUTO_INCREMENT = 382
DEFAULT CHARSET = utf8
COLLATE = utf8_croatian_ci
0 row(s) affected 1.535 sec

Create Hibernate For Joining Table

I have to join 2 tables. The column is want to join is email from candidate table and password from user table. How to do it. Can Someone Help me. candidate
table is Shown Below:
CREATE TABLE `candidate` (`candidate_id` bigint(12) NOT NULL,`user_id`int(11) DEFAULT NULL,`firstname` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,`lastname` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,`dob` date DEFAULT NULL,`gender` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,`email` varchar(100) COLLATE utf8_unicode_ci NOT NULL,`phone` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, `address_id` int(11) DEFAULT NULL, `profile_title` varchar(120) COLLATE utf8_unicode_ci DEFAULT NULL, `profile_summary` varchar(10000) COLLATE utf8_unicode_ci DEFAULT NULL, `total_experience` int(11) DEFAULT NULL COMMENT 'year,month', `current_location` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, `current_salary` double DEFAULT NULL, `expected_salary` double DEFAULT NULL, `status` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, `percentage` int(45) DEFAULT NULL,`updated_on` timestamp NULL DEFAULT CURRENT_TIMESTAMP, `noticeperiod` int(11) DEFAULT NULL, `martialstatus` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, `currentoffer` double DEFAULT NULL, `idproof` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, `industry` varchar(200) COLLATE utf8_unicode_ci DEFAULT NULL,`functionalarea` varchar(200) COLLATE utf8_unicode_ci DEFAULT NULL, `functionalrole` varchar(200) COLLATE utf8_unicode_ci DEFAULT NULL, `resign` bit(1) DEFAULT NULL,`preferlocation` varchar(1000) COLLATE utf8_unicode_ci DEFAULT NULL,`type` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,`notice_period_update` timestamp NULL DEFAULT NULL `passport` bit(1) DEFAULT NULL,`gross_salary` double DEFAULT NULL,`profile_type` varchar(12) COLLATE utf8_unicode_ci DEFAULT NULL,`rrm_user_id` int(11) DEFAULT NULL, PRIMARY KEY (`candidate_id`), KEY `Candidate_Address_idx` (`address_id`),KEY `Can_user` (`user_id`),KEY `CandidateStatus_idx` (`status`),KEY `CandidatePercent_idx` (`percentage`),KEY `user_id_idx` (`rrm_user_id`),CONSTRAINT `Can_user` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,CONSTRAINT `Candidate_Address`FOREIGN KEY (`address_id`) REFERENCES `address` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `user_id` FOREIGN KEY (`rrm_user_id`) REFERENCES `user` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
User is:
CREATE TABLE `user` (`id` int(11) NOT NULL AUTO_INCREMENT,`username` varchar(255) COLLATE utf8_unicode_ci NOT NULL,`password` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,`first_name` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, `last_name` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,`type` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,`active` bit(1) DEFAULT NULL,`deleted` bit(1) DEFAULT NULL,`timezone` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,`created_on` timestamp NULL DEFAULT NULL,`updated_on` timestamp NULL DEFAULT CURRENT_TIMESTAMP,`activationcode` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,`secure_key` varchar(16) COLLATE utf8_unicode_ci DEFAULT NULL,PRIMARY KEY (`id`),UNIQUE KEY `username_UNIQUE` (`username`)) ENGINE=InnoDB AUTO_INCREMENT=1505 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
You need a very simple SQL query to do this:
SELECT
c.candidate_id,
c.user_id,
c.email,
u.password
FROM
candidate as c
JOIN user as u ON c.user_id = u.user_id
Working example:
http://sqlfiddle.com/#!9/0ba876/1
Try to learn some SQL before you try to progress in this field.
https://www.w3schools.com/sql/