Sails-mysql Oauth - mysql

i am following this tutorial to make oauth server with mongodb, and with mongodb it works fine.
But then i try to change to sails-mysql, but i am having some problems, for example if i change the connection to mysql, if i try to create new client/user it works... but then, if i want to verifi the link, it returns this error:
Error (E_UNKNOWN) :: Encountered an unexpected error
: ER_PARSE_ERROR: 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 'undefined AND `tokens`.`access_token` undefined AND `tokens`.`access_token` unde' at line 1
at Query.Sequence._packetToError (/home/mpinto/Escritorio/Guatour/oauth-server/node_modules/sails-mysql/node_modules/mysql/lib/protocol/sequences/Sequence.js:48:14)
at Query.ErrorPacket (/home/mpinto/Escritorio/Guatour/oauth-server/node_modules/sails-mysql/node_modules/mysql/lib/protocol/sequences/Query.js:83:18)
at Protocol._parsePacket (/home/mpinto/Escritorio/Guatour/oauth-server/node_modules/sails-mysql/node_modules/mysql/lib/protocol/Protocol.js:271:23)
at Parser.write (/home/mpinto/Escritorio/Guatour/oauth-server/node_modules/sails-mysql/node_modules/mysql/lib/protocol/Parser.js:77:12)
at Protocol.write (/home/mpinto/Escritorio/Guatour/oauth-server/node_modules/sails-mysql/node_modules/mysql/lib/protocol/Protocol.js:39:16)
at Socket.<anonymous> (/home/mpinto/Escritorio/Guatour/oauth-server/node_modules/sails-mysql/node_modules/mysql/lib/Connection.js:92:28)
at Socket.emit (events.js:107:17)
at readableAddChunk (_stream_readable.js:163:16)
at Socket.Readable.push (_stream_readable.js:126:10)
at TCP.onread (net.js:538:20)
--------------------
at Protocol._enqueue (/home/mpinto/Escritorio/Guatour/oauth-server/node_modules/sails-mysql/node_modules/mysql/lib/protocol/Protocol.js:135:48)
at PoolConnection.Connection.query (/home/mpinto/Escritorio/Guatour/oauth-server/node_modules/sails-mysql/node_modules/mysql/lib/Connection.js:197:25)
at __FIND__ (/home/mpinto/Escritorio/Guatour/oauth-server/node_modules/sails-mysql/lib/adapter.js:836:20)
at Object.module.exports.adapter.find (/home/mpinto/Escritorio/Guatour/oauth-server/node_modules/sails-mysql/lib/adapter.js:803:9)
at Array.async.auto.findRecords (/home/mpinto/Escritorio/Guatour/oauth-server/node_modules/sails-mysql/lib/adapter.js:1056:21)
at /home/mpinto/Escritorio/Guatour/oauth-server/node_modules/sails-mysql/node_modules/async/lib/async.js:484:38
at _each (/home/mpinto/Escritorio/Guatour/oauth-server/node_modules/sails-mysql/node_modules/async/lib/async.js:46:13)
at Object.async.auto (/home/mpinto/Escritorio/Guatour/oauth-server/node_modules/sails-mysql/node_modules/async/lib/async.js:455:9)
at __DESTROY__ (/home/mpinto/Escritorio/Guatour/oauth-server/node_modules/sails-mysql/lib/adapter.js:1053:15)
at afterwards (/home/mpinto/Escritorio/Guatour/oauth-server/node_modules/sails-mysql/lib/connections/spawn.js:84:5)
at /home/mpinto/Escritorio/Guatour/oauth-server/node_modules/sails-mysql/lib/connections/spawn.js:40:7
at Ping.onPing [as _callback] (/home/mpinto/Escritorio/Guatour/oauth-server/node_modules/sails-mysql/node_modules/mysql/lib/Pool.js:94:5)
at Ping.Sequence.end (/home/mpinto/Escritorio/Guatour/oauth-server/node_modules/sails-mysql/node_modules/mysql/lib/protocol/sequences/Sequence.js:96:24)
at Ping.Sequence.OkPacket (/home/mpinto/Escritorio/Guatour/oauth-server/node_modules/sails-mysql/node_modules/mysql/lib/protocol/sequences/Sequence.js:105:8)
at Protocol._parsePacket (/home/mpinto/Escritorio/Guatour/oauth-server/node_modules/sails-mysql/node_modules/mysql/lib/protocol/Protocol.js:271:23)
at Parser.write (/home/mpinto/Escritorio/Guatour/oauth-server/node_modules/sails-mysql/node_modules/mysql/lib/protocol/Parser.js:77:12)
at Protocol.write (/home/mpinto/Escritorio/Guatour/oauth-server/node_modules/sails-mysql/node_modules/mysql/lib/protocol/Protocol.js:39:16)
at Socket.<anonymous> (/home/mpinto/Escritorio/Guatour/oauth-server/node_modules/sails-mysql/node_modules/mysql/lib/Connection.js:92:28)
at Socket.emit (events.js:107:17)
at readableAddChunk (_stream_readable.js:163:16)
at Socket.Readable.push (_stream_readable.js:126:10)
at TCP.onread (net.js:538:20)
Details: Error: ER_PARSE_ERROR: 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 'undefined AND `tokens`.`access_token` undefined AND `tokens`.`access_token` unde' at line 1
Generated mysql script:
-- MySQL dump 10.13 Distrib 5.5.43, for debian-linux-gnu (x86_64)
--
-- Host: localhost Database: oauth
-- ------------------------------------------------------
-- Server version 5.5.43-0ubuntu0.14.04.1
/*!40101 SET #OLD_CHARACTER_SET_CLIENT=##CHARACTER_SET_CLIENT */;
/*!40101 SET #OLD_CHARACTER_SET_RESULTS=##CHARACTER_SET_RESULTS */;
/*!40101 SET #OLD_COLLATION_CONNECTION=##COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET #OLD_TIME_ZONE=##TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET #OLD_UNIQUE_CHECKS=##UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET #OLD_FOREIGN_KEY_CHECKS=##FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET #OLD_SQL_MODE=##SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET #OLD_SQL_NOTES=##SQL_NOTES, SQL_NOTES=0 */;
--
-- Table structure for table `clients`
--
DROP TABLE IF EXISTS `clients`;
/*!40101 SET #saved_cs_client = ##character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `clients` (
`name` varchar(255) DEFAULT NULL,
`organization` varchar(255) DEFAULT NULL,
`email` varchar(255) DEFAULT NULL,
`client_id` varchar(255) DEFAULT NULL,
`client_secret` varchar(255) DEFAULT NULL,
`trust_level` varchar(255) DEFAULT NULL,
`redirect_uri` varchar(255) DEFAULT NULL,
`date_registered` varchar(255) DEFAULT NULL,
`date_verified` varchar(255) DEFAULT NULL,
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`),
UNIQUE KEY `client_id` (`client_id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = #saved_cs_client */;
--
-- Dumping data for table `clients`
--
LOCK TABLES `clients` WRITE;
/*!40000 ALTER TABLE `clients` DISABLE KEYS */;
INSERT INTO `clients` VALUES (NULL,NULL,'mpinto#estratek.com','LdjM89WLIxrKnxExtXHUcq7ViucW20Kj','pew1d XFNWpuTnTjEGhYX495DUhxtDwUH',NULL,NULL,NULL,NULL,1);
/*!40000 ALTER TABLE `clients` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `tokens`
--
DROP TABLE IF EXISTS `tokens`;
/*!40101 SET #saved_cs_client = ##character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `tokens` (
`access_token` varchar(255) DEFAULT NULL,
`refresh_token` varchar(255) DEFAULT NULL,
`code` varchar(255) DEFAULT NULL,
`user_id` varchar(255) DEFAULT NULL,
`expiration_date` date DEFAULT NULL,
`client_id` varchar(255) DEFAULT NULL,
`security_level` varchar(255) DEFAULT NULL,
`scope` varchar(255) DEFAULT NULL,
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = #saved_cs_client */;
--
-- Dumping data for table `tokens`
--
LOCK TABLES `tokens` WRITE;
/*!40000 ALTER TABLE `tokens` DISABLE KEYS */;
INSERT INTO `tokens` VALUES ('opSlFDZcPxrFFL0XvLWxiIsyxRZJcIcl','WIwl2x5ZbXBxXUHTC1JUlgAKDtXovPZe','qx RalLE3asf6LCQgclr8GtQ22vtgn1lb',NULL,'2015-06- 25','LdjM89WLIxrKnxExtXHUcq7ViucW20Kj',NULL,NULL,1);
/*!40000 ALTER TABLE `tokens` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `users`
--
DROP TABLE IF EXISTS `users`;
/*!40101 SET #saved_cs_client = ##character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `users` (
`username` varchar(255) DEFAULT NULL,
`email` varchar(255) DEFAULT NULL,
`first_name` varchar(255) DEFAULT NULL,
`last_name` varchar(255) DEFAULT NULL,
`location` varchar(255) DEFAULT NULL,
`date_registered` date DEFAULT NULL,
`date_verified` date DEFAULT NULL,
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`encrypted_password` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`),
UNIQUE KEY `email` (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = #saved_cs_client */;
--
-- Dumping data for table `users`
--
LOCK TABLES `users` WRITE;
/*!40000 ALTER TABLE `users` DISABLE KEYS */;
/*!40000 ALTER TABLE `users` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=#OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=#OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=#OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=#OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=#OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=#OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=#OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=#OLD_SQL_NOTES */;
-- Dump completed on 2015-06-25 14:58:43
How can i fix this?
Thanks.

Related

SQL file failing to import into MySQL workbench- "Failed to add the foreign key constraint. Missing column 'userid'"

Ive been trying to import a .SQL file and I know the database works. Can someone please explain why I am getting the below error whilst importing from self-contained file?
ERROR 3734 (HY000) at line 55: Failed to add the foreign key constraint. Missing column 'userid' for constraint 'user_app_FK' in the referenced table 'user'
-- MySQL dump 10.13 Distrib 8.0.12, for Win64 (x86_64)
--
-- Host: 127.0.0.1 Database: avi_it
-- ------------------------------------------------------
-- Server version 8.0.12
/*!40101 SET #OLD_CHARACTER_SET_CLIENT=##CHARACTER_SET_CLIENT */;
/*!40101 SET #OLD_CHARACTER_SET_RESULTS=##CHARACTER_SET_RESULTS */;
/*!40101 SET #OLD_COLLATION_CONNECTION=##COLLATION_CONNECTION */;
SET NAMES utf8 ;
/*!40103 SET #OLD_TIME_ZONE=##TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET #OLD_UNIQUE_CHECKS=##UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET #OLD_FOREIGN_KEY_CHECKS=##FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET #OLD_SQL_MODE=##SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET #OLD_SQL_NOTES=##SQL_NOTES, SQL_NOTES=0 */;
DROP TABLE IF EXISTS `application`;
/*!40101 SET #saved_cs_client = ##character_set_client */;
SET character_set_client = utf8mb4 ;
CREATE TABLE `application` ( --line 55
`applicationID` int(11) NOT NULL AUTO_INCREMENT,
`userID` int(11) DEFAULT NULL,
`jobID` int(11) DEFAULT NULL,
`applicationDes` text,
PRIMARY KEY (`applicationID`),
KEY `user_app_FK_idx` (`userID`),
KEY `job_app_FK_idx` (`jobID`),
CONSTRAINT `job_app_FK` FOREIGN KEY (`jobID`) REFERENCES `job` (`jobid`),
CONSTRAINT `user_app_FK` FOREIGN KEY (`userID`) REFERENCES `user` (`userid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = #saved_cs_client */;
DROP TABLE IF EXISTS `user`;
/*!40101 SET #saved_cs_client = ##character_set_client */;
SET character_set_client = utf8mb4 ;
CREATE TABLE `user` (
`userID` int(11) NOT NULL AUTO_INCREMENT,
`personID` int(11) DEFAULT NULL,
PRIMARY KEY (`userID`),
KEY `person_user_FK_idx` (`personID`),
CONSTRAINT `person_user_FK` FOREIGN KEY (`personID`) REFERENCES `person_detail` (`personid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = #saved_cs_client */;
should be just order issue. need to first create the user table

#1005 - Errcode: 150 "Foreign key constraint is incorrectly formed" Implementing database

I am trying to implement a database made in MySQL Workbench into PHPMyadmin. However, I tried a lot and it is not working. It is telling me that a certain table can't be made, since the foreign key constraint is incorrectly formed. Hopefully any of you see what is wrong with my code.
Here is my code:
-- MySQL dump 10.13 Distrib 8.0.16, for Win64 (x86_64)
--
-- Host: localhost Database: db-website
-- ------------------------------------------------------
-- Server version 8.0.15
/*!40101 SET #OLD_CHARACTER_SET_CLIENT=##CHARACTER_SET_CLIENT */;
/*!40101 SET #OLD_CHARACTER_SET_RESULTS=##CHARACTER_SET_RESULTS */;
/*!40101 SET #OLD_COLLATION_CONNECTION=##COLLATION_CONNECTION */;
SET NAMES utf8 ;
/*!40103 SET #OLD_TIME_ZONE=##TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET #OLD_UNIQUE_CHECKS=##UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET #OLD_FOREIGN_KEY_CHECKS=##FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET #OLD_SQL_MODE=##SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET #OLD_SQL_NOTES=##SQL_NOTES, SQL_NOTES=0 */;
--
-- Table structure for table `tblcategory`
--
DROP TABLE IF EXISTS `tblcategory`;
/*!40101 SET #saved_cs_client = ##character_set_client */;
SET character_set_client = utf8 ;
CREATE TABLE `tblcategory` (
`ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
`strName` varchar(45) NOT NULL,
`strDescription` varchar(100) NOT NULL,
PRIMARY KEY (`ID`),
UNIQUE KEY `ID_UNIQUE` (`ID`),
UNIQUE KEY `strName_UNIQUE` (`strName`),
UNIQUE KEY `strDescription_UNIQUE` (`strDescription`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
/*!40101 SET character_set_client = #saved_cs_client */;
--
-- Dumping data for table `tblcategory`
--
LOCK TABLES `tblcategory` WRITE;
/*!40000 ALTER TABLE `tblcategory` DISABLE KEYS */;
INSERT INTO `tblcategory` VALUES (1,'Beers','Beers - description...'),(2,'Wines','Wines - description...'),(3,'Liquors','Liquors - description...');
/*!40000 ALTER TABLE `tblcategory` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `tblproduct`
--
DROP TABLE IF EXISTS `tblproduct`;
/*!40101 SET #saved_cs_client = ##character_set_client */;
SET character_set_client = utf8 ;
CREATE TABLE `tblproduct` (
`ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
`strName` varchar(45) NOT NULL,
`decPrice` decimal(10,2) unsigned NOT NULL,
`intVolume` decimal(10,2) unsigned NOT NULL,
`strDescription` varchar(100) NOT NULL,
`idProductCategory` int(10) unsigned NOT NULL,
`idProductSubCategory` int(10) unsigned NOT NULL,
PRIMARY KEY (`ID`),
UNIQUE KEY `ID_UNIQUE` (`ID`),
UNIQUE KEY `strName_UNIQUE` (`strName`),
UNIQUE KEY `strDescription_UNIQUE` (`strDescription`),
KEY `ProductSubCategory_idx` (`idProductSubCategory`),
KEY `ProductCategory_idx` (`idProductCategory`),
CONSTRAINT `ProductCategory` FOREIGN KEY (`idProductCategory`) REFERENCES `tblcategory` (`ID`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `ProductSubCategory` FOREIGN KEY (`idProductSubCategory`) REFERENCES `tblsubcategory` (`ID`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
/*!40101 SET character_set_client = #saved_cs_client */;
--
-- Dumping data for table `tblproduct`
--
LOCK TABLES `tblproduct` WRITE;
/*!40000 ALTER TABLE `tblproduct` DISABLE KEYS */;
INSERT INTO `tblproduct` VALUES (1,'Heineken H41',6.99,2.00,'Heineken H41 Lager',1,2),(2,'G7 sauvignon blanc',5.00,0.75,'G7 sauvignon blanc White Wine ',2,12),(3,'Jack Daniel\'s Tennessee',26.99,0.70,'Jack Daniel\'s Tennessee Whiskey',3,21);
/*!40000 ALTER TABLE `tblproduct` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `tblsubcategory`
--
DROP TABLE IF EXISTS `tblsubcategory`;
/*!40101 SET #saved_cs_client = ##character_set_client */;
SET character_set_client = utf8 ;
CREATE TABLE `tblsubcategory` (
`ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
`strName` varchar(45) NOT NULL,
`strDescription` varchar(45) NOT NULL,
`idCategory` int(10) unsigned NOT NULL,
PRIMARY KEY (`ID`),
UNIQUE KEY `ID_UNIQUE` (`ID`),
UNIQUE KEY `strName_UNIQUE` (`strName`),
KEY `SubCategory-Category_idx` (`idCategory`),
CONSTRAINT `SubCategory-Category` FOREIGN KEY (`idCategory`) REFERENCES `tblcategory` (`ID`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
/*!40101 SET character_set_client = #saved_cs_client */;
--
-- Dumping data for table `tblsubcategory`
--
LOCK TABLES `tblsubcategory` WRITE;
/*!40000 ALTER TABLE `tblsubcategory` DISABLE KEYS */;
INSERT INTO `tblsubcategory` VALUES (1,'Ale','Description...',1),(2,'Lager','Description...',1),(3,'Pilsner','Description...',1),(4,'Stout','Description...',1),(5,'Porter','Description...',1),(6,'Bock','Description...',1),(7,'Weissbier','Description...',1),(8,'Lambic','Description...',1),(9,'Kölsch','Description...',1),(10,'Malt Liquor','Description...',1),(11,'Red Wine','Description...',2),(12,'White Wine','Description...',2),(13,'Rosé Wine','Description...',2),(14,'Sparkling Wine','Description...',2),(15,'Fortified Wine','Description...',2),(16,'Gin','Description...',3),(17,'Rum','Description...',3),(18,'Brandy','Description...',3),(19,'Tequila','Description...',3),(20,'Vodka','Description...',3),(21,'Whiskey','Description...',3);
/*!40000 ALTER TABLE `tblsubcategory` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=#OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=#OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=#OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=#OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=#OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=#OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=#OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=#OLD_SQL_NOTES */;
-- Dump completed on 2019-05-12 13:15:55

Encoding issue with MySQL and Arabic - Qt 5.8 on Windows 7

I have an application where I use a QSqlQueryModel and a table view to view some data from a mysql database.
I created the database using phpMyadmin and wrote a Python script to read Arabic data from Excel sheets and insert it into the database.
Everything works well on Linux, but when I switched to Windows, the application can't seem to encode the Arabic words correctly.
This is how it looks like for the avilable data:
صودق بالعلاج ةالمتابعه بقسم(المخ والاعصاب)
...and when I insert new data using Qt, the data shows as question marks (?).
Here's the MySQL dump for the database:
-- MySQL dump 10.13 Distrib 5.6.21, for Win32 (x86)
--
-- Host: localhost Database: tasdeek
-- ------------------------------------------------------
-- Server version 5.6.21
/*!40101 SET #OLD_CHARACTER_SET_CLIENT=##CHARACTER_SET_CLIENT */;
/*!40101 SET #OLD_CHARACTER_SET_RESULTS=##CHARACTER_SET_RESULTS */;
/*!40101 SET #OLD_COLLATION_CONNECTION=##COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET #OLD_TIME_ZONE=##TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET #OLD_UNIQUE_CHECKS=##UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET #OLD_FOREIGN_KEY_CHECKS=##FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET #OLD_SQL_MODE=##SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET #OLD_SQL_NOTES=##SQL_NOTES, SQL_NOTES=0 */;
--
-- Table structure for table `tasdeek`
--
DROP TABLE IF EXISTS `tasdeek`;
/*!40101 SET #saved_cs_client = ##character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `tasdeek` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`rank` varchar(15) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`name` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`working` varchar(15) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`notes` text CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`amount` varchar(25) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`relationship` varchar(15) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`startDate` date NOT NULL,
`endDate` date NOT NULL,
`agency` tinyint(4) NOT NULL,
`nationalId` varchar(14) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=899 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = #saved_cs_client */;
--
-- Dumping data for table `tasdeek`
--
LOCK TABLES `tasdeek` WRITE;
/*!40000 ALTER TABLE `tasdeek` DISABLE KEYS */;
INSERT INTO `tasdeek` VALUES (2,'مساعد','زياد شسيشسي شيسي','شسيش ','شيشسيشيسشي ي شسيشس ي شسي د','5000','شخصه','2017-02-06','2018-02-06',1,NULL),(3,'اتتلاتل تلات لات لا','سيشس شيشسي شسي ','','شيسيشسي ششي شسف شسيشي شسيشي // تجديد','5000','الوالد','2017-05-11','2018-05-11',1,NULL)
/*!40000 ALTER TABLE `tasdeek` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `users`
--
DROP TABLE IF EXISTS `users`;
/*!40101 SET #saved_cs_client = ##character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`password` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`userGroup` int(2) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQUE` (`username`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = #saved_cs_client */;
--
-- Dumping data for table `users`
--
LOCK TABLES `users` WRITE;
/*!40000 ALTER TABLE `users` DISABLE KEYS */;
INSERT INTO `users` VALUES (1,'admin','5bdba65d1a953aa83ed8f35ef2877274b5d451d2',0);
/*!40000 ALTER TABLE `users` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=#OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=#OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=#OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=#OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=#OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=#OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=#OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=#OLD_SQL_NOTES */;
-- Dump completed on 2017-09-13 21:40:59
Note that the old data inserted on Linux is shown properly on phpMyAdmin.
See this fragment from QTextCodec::codecForLocale documentation:
On Windows, the codec will be based on a system locale. On Unix systems, the codec will might fall back to using the iconv library if no builtin codec for the locale can be found.
This could explain why you saw the correct arabic characters on Linux, but not on Windows.
As an alternative in this case, you can "force" the codec using the following instruction in your main.cpp:
QTextCodec::setCodecForLocale( QTextCodec::codecForName("UTF-8") );
PS: Don't forget the #include <QTextCodec> directive.

Slow MySQL Query "copying to tmp table", help re-writing it

This mysql query is extremely slow, when I look at the query it is "copying to tmp table". These tables are very large especially search_attribute (79 million rows) and search_attribute_values (350,000 rows)
SELECT attributenames.name, search_attribute_values.value
FROM attributenames, categorysearchattributes, search_attribute, search_attribute_values
WHERE
categorysearchattributes.attributeid = attributenames.attributeid AND categorysearchattributes.categoryid = 4800 AND
categorysearchattributes.attributeid = search_attribute.attributeid AND
search_attribute.valueid = search_attribute_values.valueid AND
attributenames.localeid = 1
GROUP BY search_attribute.valueid
Here is a picture of the EXPLAIN of the query
Here is my database schema
-- MySQL dump 10.13 Distrib 5.5.46, for debian-linux-gnu (x86_64)
--
-- Host: localhost Database:
-- ------------------------------------------------------
-- Server version 5.5.46-0ubuntu0.14.04.2
/*!40101 SET #OLD_CHARACTER_SET_CLIENT=##CHARACTER_SET_CLIENT */;
/*!40101 SET #OLD_CHARACTER_SET_RESULTS=##CHARACTER_SET_RESULTS */;
/*!40101 SET #OLD_COLLATION_CONNECTION=##COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET #OLD_TIME_ZONE=##TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET #OLD_UNIQUE_CHECKS=##UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET #OLD_FOREIGN_KEY_CHECKS=##FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET #OLD_SQL_MODE=##SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET #OLD_SQL_NOTES=##SQL_NOTES, SQL_NOTES=0 */;
--
-- Table structure for table `attributenames`
--
DROP TABLE IF EXISTS `attributenames`;
/*!40101 SET #saved_cs_client = ##character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `attributenames` (
`attributeid` bigint(20) NOT NULL DEFAULT '0',
`name` varchar(110) NOT NULL DEFAULT '',
`localeid` int(11) NOT NULL DEFAULT '0',
KEY `attributenames_attributeID` (`attributeid`),
KEY `attributenames_localeID` (`localeid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = #saved_cs_client */;
--
-- Table structure for table `categorysearchattributes`
--
DROP TABLE IF EXISTS `categorysearchattributes`;
/*!40101 SET #saved_cs_client = ##character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `categorysearchattributes` (
`categoryid` int(11) NOT NULL DEFAULT '0',
`attributeid` bigint(20) NOT NULL DEFAULT '0',
`isactive` tinyint(1) NOT NULL DEFAULT '1',
KEY `caterysearchattributes_aID` (`attributeid`),
KEY `caterysearchattributes_cID` (`categoryid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = #saved_cs_client */;
--
-- Table structure for table `product`
--
DROP TABLE IF EXISTS `product`;
/*!40101 SET #saved_cs_client = ##character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `product` (
`productid` int(11) NOT NULL DEFAULT '0',
`manufacturerid` int(11) NOT NULL DEFAULT '0',
`isactive` tinyint(1) NOT NULL DEFAULT '1',
`mfgpartno` varchar(70) NOT NULL DEFAULT '',
`categoryid` int(11) NOT NULL DEFAULT '0',
`isaccessory` tinyint(1) NOT NULL DEFAULT '0',
`equivalency` double NOT NULL DEFAULT '0',
`creationdate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`modifieddate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`lastupdated` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`productid`),
KEY `product_manufacturerID` (`manufacturerid`),
KEY `product_categoryID` (`categoryid`),
KEY `product_mfgPartNo` (`mfgpartno`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = #saved_cs_client */;
--
-- Table structure for table `search_attribute`
--
DROP TABLE IF EXISTS `search_attribute`;
/*!40101 SET #saved_cs_client = ##character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `search_attribute` (
`productid` int(11) NOT NULL DEFAULT '0',
`attributeid` bigint(20) NOT NULL DEFAULT '0',
`valueid` int(11) NOT NULL DEFAULT '0',
`localeid` int(11) NOT NULL DEFAULT '0',
`setnumber` tinyint(2) NOT NULL DEFAULT '0',
`isactive` tinyint(1) NOT NULL DEFAULT '1',
PRIMARY KEY (`productid`,`localeid`,`attributeid`,`setnumber`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = #saved_cs_client */;
--
-- Table structure for table `search_attribute_values`
--
DROP TABLE IF EXISTS `search_attribute_values`;
/*!40101 SET #saved_cs_client = ##character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `search_attribute_values` (
`valueid` int(11) NOT NULL DEFAULT '0',
`value` varchar(255) NOT NULL DEFAULT '',
`absolutevalue` double NOT NULL DEFAULT '0',
`unitid` int(11) NOT NULL DEFAULT '0',
`isabsolute` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`valueid`),
KEY `search_attrval_value` (`value`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = #saved_cs_client */;
Added attributeid_valueid index
By looking at the EXPLAIN query in the picture, the table search_attribute is doing a full table scan i.e. not using indexes at all.
Adding index to valueid column of search_attribute table should make it faster. Give it a try and share your results after adding index.
ALTER TABLE `search_attribute` ADD KEY `idx_valueid` (`valueid`);
Please try the combinations of suggestions below.

Mysql simple table [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 8 years ago.
Improve this question
Please help, I need to create a database for car dealership. Database has to contain all the employees in the shop and all cars in the shop. Also base has to contain info on which car is sold and which employee has sold that car.
I have made the table, but i cannnot connect sold car and employee that sold that car.
Script:
CREATE DATABASE IF NOT EXISTS `classicmodels` /*!40100 DEFAULT CHARACTER SET latin1 */;
USE `classicmodels`;
-- MySQL dump 10.13 Distrib 5.6.13, for Win32 (x86)
--
-- Host: localhost Database: classicmodels
-- ------------------------------------------------------
-- Server version 5.1.73-community
/*!40101 SET #OLD_CHARACTER_SET_CLIENT=##CHARACTER_SET_CLIENT */;
/*!40101 SET #OLD_CHARACTER_SET_RESULTS=##CHARACTER_SET_RESULTS */;
/*!40101 SET #OLD_COLLATION_CONNECTION=##COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET #OLD_TIME_ZONE=##TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET #OLD_UNIQUE_CHECKS=##UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET #OLD_FOREIGN_KEY_CHECKS=##FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET #OLD_SQL_MODE=##SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET #OLD_SQL_NOTES=##SQL_NOTES, SQL_NOTES=0 */;
--
-- Table structure for table `cars`
--
DROP TABLE IF EXISTS `cars`;
/*!40101 SET #saved_cs_client = ##character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `cars` (
`carID` int(11) NOT NULL AUTO_INCREMENT,
`manufacturerName` varchar(50) NOT NULL,
`modelName` varchar(50) NOT NULL,
`price` int(11) NOT NULL,
PRIMARY KEY (`carID`)
) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = #saved_cs_client */;
--
-- Dumping data for table `cars`
--
LOCK TABLES `cars` WRITE;
/*!40000 ALTER TABLE `cars` DISABLE KEYS */;
INSERT INTO `cars` VALUES (1,'Volkswagen','Jetta',13300),(2,'Renault','Laguna',14700),(3,'Ford','Focus',13600),(4,'Daewoo','Tico',1100),(5,'Toyota','Avensis',14500),(6,'Alfa Romeo','156',8700),(7,'Volkswagen','Passat',22200),(8,'Renault','Clio',6400),(9,'Ford','Fiesta',6900),(10,'Daewoo','Cielo',3600),(11,'Toyota','Rav4',24900),(12,'Alfa Romeo','147',7500),(13,'Volkswagen','Golf',16700),(14,'Renault','Megane',11400),(15,'Ford','Mondeo',14600),(16,'Daewoo','Matiz',1700),(17,'Toyota','Yaris',7400),(18,'Alfa Romeo','159',17000),(19,'Volkswagen','Polo',6500),(20,'Renault','Scenic',6800),(21,'Ford','Escort',2000),(22,'Daewoo','Espero',2500),(23,'Toyota','Corolla',10300),(24,'Alfa Romeo','166',5200);
/*!40000 ALTER TABLE `cars` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `employees`
--
DROP TABLE IF EXISTS `employees`;
/*!40101 SET #saved_cs_client = ##character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `employees` (
`employeeID` int(11) NOT NULL,
`lastName` varchar(50) NOT NULL,
`name` varchar(50) NOT NULL,
`email` varchar(100) NOT NULL,
`position` varchar(50) NOT NULL,
PRIMARY KEY (`employeeID`),
KEY `prodaja_idx` (`employeeID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = #saved_cs_client */;
--
-- Dumping data for table `employees`
--
LOCK TABLES `employees` WRITE;
/*!40000 ALTER TABLE `employees` DISABLE KEYS */;
INSERT INTO `employees` VALUES (1,'Brkic','Goran','goran#prodavnicaautomobila.com','Direktor'),(2,'Milosevic','Srdjan','srdjan#prodavnicaautomobila.com','Marketing'),(3,'Srdic','Boro','boro#prodavnicaautomobila.com','Marketing'),(4,'Marinkovic','Marin','marin#cprodavnicaautomobila.com','Menadzer prodaje'),(5,'Nemanjic','Tamara','tamara#prodavnicaautomobila.com','Prodavac'),(6,'Kuduz','Renato','renato#prodavnicaautomobila.com','Prodavac'),(7,'Salkovic','Vladimir','vladimir#prodavnicaautomobila.com','Prodavac'),(8,'Berin','Marko','marko#prodavnicaautomobila.com','Prodavac'),(9,'Konjevic','Srecko','srecko#prodavnicaautomobila.com','Prodavac'),(10,'Pajic','Sasa','sasa#prodavnicaautomobila.com','Prodavac'),(11,'Goranovic','Milan','milan#prodavnicaautomobila.com','Prodavac');
/*!40000 ALTER TABLE `employees` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `soldcars`
--
DROP TABLE IF EXISTS `soldcars`;
/*!40101 SET #saved_cs_client = ##character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `soldcars` (
`carID` int(11) NOT NULL,
`empoyeeID` varchar(50) NOT NULL,
PRIMARY KEY (`carID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = #saved_cs_client */;
--
-- Dumping data for table `soldcars`
--
LOCK TABLES `soldcars` WRITE;
/*!40000 ALTER TABLE `soldcars` DISABLE KEYS */;
INSERT INTO `soldcars` VALUES (1,'kuduz'),(2,'brkic'),(4,'goranovic'),(5,'milosevic'),(12,'pajic');
/*!40000 ALTER TABLE `soldcars` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=#OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=#OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=#OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=#OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=#OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=#OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=#OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=#OLD_SQL_NOTES */;
-- Dump completed on 2014-03-04 18:47:40
Check your table sold car has empoyeeid instead of employeeid. That is why you are not able to connect
CREATE TABLE `employees` (
`employeeID` int(11) NOT NULL,
`lastName` varchar(50) NOT NULL,
`name` varchar(50) NOT NULL,
`email` varchar(100) NOT NULL,
`position` varchar(50) NOT NULL,
PRIMARY KEY (`employeeID`),
KEY `prodaja_idx` (`employeeID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `soldcars` (
`carID` int(11) NOT NULL,
`empoyeeID` varchar(50) NOT NULL,
PRIMARY KEY (`carID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;