Bug #58658 | Data truncation when joining I_S tables | ||
---|---|---|---|
Submitted: | 2 Dec 2010 13:55 | Modified: | 5 Jul 2011 18:24 |
Reporter: | Andrew Hutchings | Email Updates: | |
Status: | Can't repeat | Impact on me: | |
Category: | MySQL Server: Information schema | Severity: | S3 (Non-critical) |
Version: | 5.5.7 | OS: | Any |
Assigned to: | CPU Architecture: | Any |
[2 Dec 2010 13:55]
Andrew Hutchings
[2 Dec 2010 14:05]
Valeriy Kravchuk
Verified on 32-bit Windows XP: C:\Program Files\MySQL\MySQL Server 5.1\bin>mysql -uroot -P3312 test Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 18 Server version: 5.5.7-rc MySQL Community Server (GPL) Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL v2 license Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> CREATE TABLE product (category INT NOT NULL, id INT NOT NULL, -> price DECIMAL, -> PRIMARY KEY(category, id)) ENGINE=INNODB; Query OK, 0 rows affected (0.19 sec) mysql> mysql> CREATE TABLE customer (id INT NOT NULL, -> PRIMARY KEY (id)) ENGINE=INNODB; Query OK, 0 rows affected (0.08 sec) mysql> CREATE TABLE product_order (no INT NOT NULL AUTO_INCREMENT, -> product_category INT NOT NULL, -> product_id INT NOT NULL, -> customer_id INT NOT NULL, -> PRIMARY KEY(no), -> INDEX (product_category, product_id), -> FOREIGN KEY (product_category, product_id) -> REFERENCES product(category, id) -> ON UPDATE CASCADE ON DELETE RESTRICT, -> INDEX (customer_id), -> FOREIGN KEY (customer_id) -> REFERENCES customer(id)) ENGINE=INNODB; Query OK, 0 rows affected (0.13 sec) mysql> select kc.constraint_name, kc.table_name, group_concat(distinct -> concat('`',kc.column_name,'`')), kc.referenced_table_name, group_concat( distinct -> concat('`',kc.referenced_column_name,'`')), update_rule, delete_rule, mat ch_option from -> information_schema.key_column_usage kc join information_schema.referent ial_constraints -> rc on (rc.constraint_schema = kc.constraint_schema and rc.constraint_name = -> kc.constraint_name) where kc.constraint_schema='test' and kc.table_name= 'product_order' -> and kc.referenced_table_name is not null group by rc.constraint_name\G *************************** 1. row *************************** constraint_name: product_order_ ibfk_1 table_name: product_order group_concat(distinct concat('`',kc.column_name,'`')): `product_id`,`product_category` referenced_table_name: pro group_concat(distinct concat('`',kc.referenced_column_name,'`')): `id`,`category` update_rule: CASCADE delete_rule: RESTRICT match_option: NONE *************************** 2. row *************************** constraint_name: product_order_ ibfk_2 table_name: product_order group_concat(distinct concat('`',kc.column_name,'`')): `customer_id` referenced_table_name: cus group_concat(distinct concat('`',kc.referenced_column_name,'`')): `id` update_rule: RESTRICT delete_rule: RESTRICT match_option: NONE 2 rows in set (0.83 sec)