Server IP : 185.86.78.101 / Your IP : 216.73.216.213 Web Server : Apache System : Linux 675867-vds-valikoshka1996.gmhost.pp.ua 5.4.0-150-generic #167-Ubuntu SMP Mon May 15 17:35:05 UTC 2023 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /www/server/mysql/mysql-test/r/ |
Upload File : |
# # BUG#57373: Multi update+InnoDB reports ER_KEY_NOT_FOUND if a # table is updated twice # CREATE TABLE t1( pk INT, a INT, b INT, PRIMARY KEY (pk) ) ENGINE=InnoDB; INSERT INTO t1 VALUES (0,0,0); UPDATE t1 AS A, t1 AS B SET A.pk = 1, B.a = 2; ERROR HY000: Primary key/partition key update is not allowed since the table is updated both as 'A' and 'B'. SELECT * FROM t1; pk a b 0 0 0 CREATE VIEW v1 AS SELECT * FROM t1; UPDATE v1 AS A, t1 AS B SET A.pk = 1, B.a = 2; ERROR HY000: Primary key/partition key update is not allowed since the table is updated both as 'A' and 'B'. SELECT * FROM t1; pk a b 0 0 0 UPDATE t1 AS A, t1 AS B SET A.a = 1, B.b = 2; # Should be (0,1,2) SELECT * FROM t1; pk a b 0 1 2 DROP VIEW v1; DROP TABLE t1; # # BUG#11882110: UPDATE REPORTS ER_KEY_NOT_FOUND IF TABLE IS # UPDATED TWICE # CREATE TABLE t1 ( col_int_key int, pk int, col_int int, key(col_int_key), primary key (pk) ) ENGINE=InnoDB; INSERT INTO t1 VALUES (1,2,3); CREATE TABLE t2 ( col_int_key int, pk_1 int, pk_2 int, col_int int, key(col_int_key), primary key (pk_1,pk_2) ) ENGINE=InnoDB; INSERT INTO t2 VALUES (1,2,3,4); UPDATE t1 AS A NATURAL JOIN t1 B SET A.pk=5,B.pk=7; ERROR HY000: Primary key/partition key update is not allowed since the table is updated both as 'A' and 'B'. SELECT * FROM t1; col_int_key pk col_int 1 2 3 UPDATE t2 AS A NATURAL JOIN t2 B SET A.pk_1=5,B.pk_1=7; ERROR HY000: Primary key/partition key update is not allowed since the table is updated both as 'A' and 'B'. UPDATE t2 AS A NATURAL JOIN t2 B SET A.pk_2=10,B.pk_2=11; ERROR HY000: Primary key/partition key update is not allowed since the table is updated both as 'A' and 'B'. SELECT * FROM t2; col_int_key pk_1 pk_2 col_int 1 2 3 4 DROP TABLE t1,t2; # #Bug 11757486 - 49539: NON-DESCRIPTIVE ERR (ERROR 0 FROM STORAGE ENGINE) # WITH MULTI-TABLE UPDATE # CREATE TABLE table_11757486 (field1 tinyint) ENGINE=INNODB; INSERT INTO table_11757486 VALUES (0),(0); SET SESSION SQL_MODE=default; UPDATE IGNORE (SELECT 128 as col1) x, table_11757486 SET field1=x.col1; Warnings: Warning 1264 Out of range value for column 'field1' at row 1 Warning 1264 Out of range value for column 'field1' at row 2 UPDATE (SELECT 128 as col1) x, table_11757486 SET field1=x.col1; ERROR 22003: Out of range value for column 'field1' at row 1 UPDATE IGNORE (SELECT 128 as col1) x, table_11757486 SET field1=x.col1; Warnings: Warning 1264 Out of range value for column 'field1' at row 1 Warning 1264 Out of range value for column 'field1' at row 2 DROP TABLE table_11757486; # # Bug#20748537 INNODB: FAILING ASSERTION: NODE->PCUR->REL_POS == BTR_PCUR_ON # CREATE TABLE t1(c1 INT) ENGINE=INNODB; INSERT INTO t1 VALUES (0),(0),(1); CREATE TABLE t2(b INT) ENGINE=INNODB; INSERT INTO t2 VALUES(0),(0); ANALYZE TABLE t1,t2; Table Op Msg_type Msg_text test.t1 analyze status OK test.t2 analyze status OK EXPLAIN UPDATE t1,t2 SET t2.b=0; id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 UPDATE t2 NULL ALL NULL NULL NULL NULL 2 100.00 NULL 1 SIMPLE t1 NULL ALL NULL NULL NULL NULL 3 100.00 NULL SET @old_buf_result=@@sql_buffer_result; SET sql_buffer_result=ON; EXPLAIN UPDATE t1,t2 SET t2.b=0; id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 UPDATE t2 NULL ALL NULL NULL NULL NULL 2 100.00 NULL 1 SIMPLE t1 NULL ALL NULL NULL NULL NULL 3 100.00 NULL UPDATE t1,t2 SET t2.b=0; SET sql_buffer_result=@old_buf_result; DROP TABLE t1,t2; # # Bug#28716103 - MULTI-TABLE UPDATE OF PRIMARY KEY RESULTS IN ERROR 1032 # "CAN'T FIND RECORD" # CREATE TABLE t1 (c1 CHAR(255) NOT NULL); CREATE TABLE t2 (c1 CHAR(255) NOT NULL, c2 CHAR(255) NOT NULL, c3 CHAR(255) NOT NULL, PRIMARY KEY (c1, c2, c3)); INSERT INTO t1 VALUES ('x'), ('x'); INSERT INTO t2 VALUES ('x', '', ''); UPDATE t1, t2 SET t2.c2 = 'y', t2.c3 = 'y' WHERE t2.c1 = t1.c1; SELECT * FROM t2; c1 c2 c3 x y y DROP TABLE t1, t2; CREATE TABLE t1(c1 VARCHAR(350), c2 VARCHAR(350), c3 INT, PRIMARY KEY(c1,c2)) charset=utf8mb3; INSERT INTO t1 VALUES ('a','a',1); INSERT INTO t1 VALUES ('a','b',2); INSERT INTO t1 VALUES ('a','c',3); INSERT INTO t1 VALUES ('a','d',4); INSERT INTO t1 VALUES ('a','e',5); INSERT INTO t1 VALUES ('a','f',6); INSERT INTO t1 VALUES ('a','g',7); INSERT INTO t1 VALUES ('a','h',8); INSERT INTO t1 VALUES ('a','i',9); INSERT INTO t1 VALUES ('a','j',10); INSERT INTO t1 VALUES ('a','k',11); SET @@SESSION.tmp_table_size=1024; UPDATE t1 a, t1 b SET a.c3=22 WHERE a.c1 = b.c1; SELECT COUNT(*) FROM t1 WHERE c3=22; COUNT(*) 11 SET @@SESSION.tmp_table_size=DEFAULT; DROP TABLE t1;