Description:
PRIMARY KEYs are forgotten when using MySQL Workbench Migrate from Sybase to MySQL.
How to repeat:
Create a sybase table like this:
1> sp_help emp_mag
2> go
 Name                           Owner                          Object_type
 ------------------------------ ------------------------------ --------------------------------
 emp_mag                        dbo                            user table
(1 row affected)
 Data_located_on_segment        When_created
 ------------------------------ --------------------------
 default                               Nov  5 2013  9:46AM
 Column_name                    Type                           Length      Prec Scale Nulls Default_name                   Rule_name                      Access_Rule_name               Identity
 ------------------------------ ------------------------------ ----------- ---- ----- ----- ------------------------------ ------------------------------ ------------------------------ --------
 id_emp_mag                     smallint                                 2 NULL  NULL     0 NULL                           NULL                           NULL                                  1
 id_magasin                     char                                     3 NULL  NULL     0 NULL                           NULL                           NULL                                  0
 login_emp                      varchar                                 50 NULL  NULL     0 NULL                           NULL                           NULL                                  0
 mdp_emp                        varchar                                 40 NULL  NULL     0 NULL                           NULL                           NULL                                  0
 nom_emp                        varchar                                 50 NULL  NULL     0 NULL                           NULL                           NULL                                  0
 prenom_emp                     varchar                                 50 NULL  NULL     0 NULL                           NULL                           NULL                                  0
 is_admin                       bit                                      1 NULL  NULL     0 NULL                           NULL                           NULL                                  0
 is_actif                       bit                                      1 NULL  NULL     0 NULL                           NULL                           NULL                                  0
 email_emp                      varchar                                250 NULL  NULL     1 NULL                           NULL                           NULL                                  0
 lock_emp                       bit                                      1 NULL  NULL     0 emp_mag_lock_e_1337768792      NULL                           NULL                                  0
 nb_connect_emp                 int                                      4 NULL  NULL     0 emp_mag_nb_con_1353768849      NULL                           NULL                                  0
 index_name           index_description                                        index_keys                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       index_max_rows_per_page index_fillfactor index_reservepagegap index_created
 -------------------- -------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------- ---------------- -------------------- -------------------
 pk_emp_mag           clustered, unique located on default                      id_emp_mag                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            0                0                    0 Dec 17 2014  4:03PM
(1 row affected)
No defined keys for this object.
Object is not partitioned.
Lock scheme Datarows
 exp_row_size reservepagegap fillfactor max_rows_per_page identity_gap
 ------------ -------------- ---------- ----------------- ------------
            0           NULL       NULL                 0            0
(1 row affected)
 concurrency_opt_threshold optimistic_index_lock dealloc_first_txtpg
 ------------------------- --------------------- -------------------
                        15                     0                   0
(return status = 0)
You can see that there is a clustered unique key named pk_emp_mag on id_emp_mag.
However, the MySQL Workbench conversion did not make a primary key at all:
*************************** 1. row ***************************
       Table: emp_mag
Create Table: CREATE TABLE `emp_mag` (
  `id_emp_mag` smallint(6) NOT NULL,
  `id_magasin` char(3) NOT NULL,
  `login_emp` varchar(50) NOT NULL,
  `mdp_emp` varchar(40) NOT NULL,
  `nom_emp` varchar(50) NOT NULL,
  `prenom_emp` varchar(50) NOT NULL,
  `is_admin` tinyint(4) NOT NULL,
  `is_actif` tinyint(4) NOT NULL,
  `email_emp` varchar(250) DEFAULT NULL,
  `lock_emp` tinyint(4) NOT NULL DEFAULT '0',
  `nb_connect_emp` int(11) NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=latin1
Suggested fix:
Create the proper primary keys
  
 
 
 
Description: PRIMARY KEYs are forgotten when using MySQL Workbench Migrate from Sybase to MySQL. How to repeat: Create a sybase table like this: 1> sp_help emp_mag 2> go Name Owner Object_type ------------------------------ ------------------------------ -------------------------------- emp_mag dbo user table (1 row affected) Data_located_on_segment When_created ------------------------------ -------------------------- default Nov 5 2013 9:46AM Column_name Type Length Prec Scale Nulls Default_name Rule_name Access_Rule_name Identity ------------------------------ ------------------------------ ----------- ---- ----- ----- ------------------------------ ------------------------------ ------------------------------ -------- id_emp_mag smallint 2 NULL NULL 0 NULL NULL NULL 1 id_magasin char 3 NULL NULL 0 NULL NULL NULL 0 login_emp varchar 50 NULL NULL 0 NULL NULL NULL 0 mdp_emp varchar 40 NULL NULL 0 NULL NULL NULL 0 nom_emp varchar 50 NULL NULL 0 NULL NULL NULL 0 prenom_emp varchar 50 NULL NULL 0 NULL NULL NULL 0 is_admin bit 1 NULL NULL 0 NULL NULL NULL 0 is_actif bit 1 NULL NULL 0 NULL NULL NULL 0 email_emp varchar 250 NULL NULL 1 NULL NULL NULL 0 lock_emp bit 1 NULL NULL 0 emp_mag_lock_e_1337768792 NULL NULL 0 nb_connect_emp int 4 NULL NULL 0 emp_mag_nb_con_1353768849 NULL NULL 0 index_name index_description index_keys index_max_rows_per_page index_fillfactor index_reservepagegap index_created -------------------- -------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------- ---------------- -------------------- ------------------- pk_emp_mag clustered, unique located on default id_emp_mag 0 0 0 Dec 17 2014 4:03PM (1 row affected) No defined keys for this object. Object is not partitioned. Lock scheme Datarows exp_row_size reservepagegap fillfactor max_rows_per_page identity_gap ------------ -------------- ---------- ----------------- ------------ 0 NULL NULL 0 0 (1 row affected) concurrency_opt_threshold optimistic_index_lock dealloc_first_txtpg ------------------------- --------------------- ------------------- 15 0 0 (return status = 0) You can see that there is a clustered unique key named pk_emp_mag on id_emp_mag. However, the MySQL Workbench conversion did not make a primary key at all: *************************** 1. row *************************** Table: emp_mag Create Table: CREATE TABLE `emp_mag` ( `id_emp_mag` smallint(6) NOT NULL, `id_magasin` char(3) NOT NULL, `login_emp` varchar(50) NOT NULL, `mdp_emp` varchar(40) NOT NULL, `nom_emp` varchar(50) NOT NULL, `prenom_emp` varchar(50) NOT NULL, `is_admin` tinyint(4) NOT NULL, `is_actif` tinyint(4) NOT NULL, `email_emp` varchar(250) DEFAULT NULL, `lock_emp` tinyint(4) NOT NULL DEFAULT '0', `nb_connect_emp` int(11) NOT NULL DEFAULT '0' ) ENGINE=InnoDB DEFAULT CHARSET=latin1 Suggested fix: Create the proper primary keys