diff --git a/htdocs/install/mysql/migration/3.9.0-4.0.0.sql b/htdocs/install/mysql/migration/3.9.0-4.0.0.sql
index 19ea469b0e15001fc1ea1e6e737f9fe2029dce6a..882c45b7ae3bf13322b4a9bac7abdc7a8ca7451c 100644
--- a/htdocs/install/mysql/migration/3.9.0-4.0.0.sql
+++ b/htdocs/install/mysql/migration/3.9.0-4.0.0.sql
@@ -39,6 +39,7 @@ ALTER TABLE llx_product_customer_price_log ADD COLUMN localtax2_type varchar(10)
 CREATE TABLE llx_product_lot (
   rowid integer AUTO_INCREMENT PRIMARY KEY,
   tms timestamp,
+  fk_product integer NOT NULL,
   batch varchar(30) NOT NULL,
   eatby datetime DEFAULT NULL,
   sellby datetime DEFAULT NULL,
diff --git a/htdocs/install/mysql/tables/llx_product_lot.key.sql b/htdocs/install/mysql/tables/llx_product_lot.key.sql
new file mode 100644
index 0000000000000000000000000000000000000000..d16a0993d5519aaa3136768dde07c879efca610c
--- /dev/null
+++ b/htdocs/install/mysql/tables/llx_product_lot.key.sql
@@ -0,0 +1,19 @@
+-- ============================================================================
+-- Copyright (C) 2016      Laurent Destailleur  <eldy@users.sourceforge.net>
+--
+-- This program is free software; you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation; either version 3 of the License, or
+-- (at your option) any later version.
+--
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+--
+-- ============================================================================
+
+ALTER TABLE llx_product_lot ADD UNIQUE INDEX uk_product_lot(fk_product, batch);
diff --git a/htdocs/install/mysql/tables/llx_product_lot.sql b/htdocs/install/mysql/tables/llx_product_lot.sql
index 91796823a8ddd8ab3d5b03b00ff9f35db7db6ace..718cb11744c4ff81b3f38a9be64b6cfb949bb442 100644
--- a/htdocs/install/mysql/tables/llx_product_lot.sql
+++ b/htdocs/install/mysql/tables/llx_product_lot.sql
@@ -1,5 +1,4 @@
 -- ============================================================================
--- Copyright (C) 2014      Cédric GROSS         <c.gross@kreiz-it.fr>
 -- Copyright (C) 2016      Laurent Destailleur  <eldy@users.sourceforge.net>
 --
 -- This program is free software; you can redistribute it and/or modify
@@ -15,11 +14,13 @@
 -- You should have received a copy of the GNU General Public License
 -- along with this program. If not, see <http://www.gnu.org/licenses/>.
 --
--- This table is dedicated to store lots with detail of each lot
+-- This table is dedicated to store lots with detail of each lot. Key is fk_product-batch is unique.
 -- ============================================================================
+
 CREATE TABLE llx_product_lot (
   rowid integer AUTO_INCREMENT PRIMARY KEY,
   tms timestamp,
+  fk_product integer NOT NULL,
   batch varchar(30) NOT NULL,
   eatby datetime DEFAULT NULL,
   sellby datetime DEFAULT NULL,