사용하여 문을 IF
저장 프로 시저와 같은 코드 블록 내부에 속해있다. mysql 프롬프트에서 실행할 수는 없다. 이미있는 경우
당신은 당신이 또한 insert ignore
으로
mysql> create table nums(num int, unique key(num));
Query OK, 0 rows affected (0.05 sec)
mysql> insert ignore into nums >select round(rand()*9999);>
Query OK, 1 row affected (0.01 >sec)>
Records: 1 Duplicates: 0 Warn>ings>: 0>
mysql> insert ignore into nums select round(rand()*9999);
Query OK, 1 row affected (0.00 sec)
Records: 1 Duplicates: 0 Warnings: 0
mysql> insert ignore into nums select round(rand()*9999);
Query OK, 1 row affected (0.00 sec)
Records: 1 Duplicates: 0 Warnings: 0
mysql> insert ignore into nums select round(rand()*9999);
Query OK, 1 row affected (0.00 sec)
Records: 1 Duplicates: 0 Warnings: 0
mysql> select * from nums;
+------+
| num |
+------+
| 5268 |
| 9075 |
| 9114 |
| 9768 |
+------+
4 rows in set (0.00 sec)
mysql>
하여 작업을 수행 할 수 있습니다 전에이 아니었다 임의의 값을 삽입 할 경우
, 그것은 행을 삽입하지 않습니다.
의 MySQL 또는 Oracle을? 그들은 완전히 다릅니다. – Mat
IF 문은 TSQL 및 PL/SQL과 같은 경우에만 작동합니다. 방금 쿼리를 실행하는 경우에는 작동하지 않습니다. 그 논리를 실행 코드에 넣어야합니다. – rbedger
어떻게하면됩니까? 현재 버전의 WampServer 및 XAMPP와 함께 사용되는 MySQL 버전을 사용하고 있습니다. – user2182300