用 replace 代替 insert 用,可要当心呀,下面的情况,本来两条记录,replace后,变成一条了.
mysql> select * from tmp1;
+----+------+------+
| f1 | f2 | f3 |
+----+------+------+
| 2 | 999 | uuuu |
| 3 | 5 | pppp |
+----+------+------+
2 rows in set (0.00 sec)mysql> replace tmp1 select 2,5,'mmmm';
Query OK, 3 rows affected (0.02 sec)
Records: 1 Duplicates: 2 Warnings: 0mysql> select * from tmp1;
+----+------+------+
| f1 | f2 | f3 |
+----+------+------+
| 2 | 5 | mmmm |
+----+------+------+
1 row in set (0.00 sec)mysql>
mysql> select * from tmp1;
+----+------+------+
| f1 | f2 | f3 |
+----+------+------+
| 2 | 999 | uuuu |
| 3 | 5 | pppp |
+----+------+------+
2 rows in set (0.00 sec)mysql> replace tmp1 select 2,5,'mmmm';
Query OK, 3 rows affected (0.02 sec)
Records: 1 Duplicates: 2 Warnings: 0mysql> select * from tmp1;
+----+------+------+
| f1 | f2 | f3 |
+----+------+------+
| 2 | 5 | mmmm |
+----+------+------+
1 row in set (0.00 sec)mysql>
解决方案 »
- 关于时间的问题
- Mysql导入sql文件,out of memory问题
- Show Variables Like 'BaseDir%' 求BaseDir的地址值
- mysql 存储过程 的PHP调用
- PostGres 使用管道读取pg_dump输出数据的问题
- 得到文章的前一条,后一条记录
- 求解:2003-can't connect MYSOL server on'local hodt'(10061)
- 如何连接MYSQL数据库 没有密码
- mysql怎么支持中文名做database?能解决吗?
- 如何获取left join后,符合条件的有多少条
- 新入手MYSQL,虚心请教
- 求助mysql集群的入门级资料!
有的表,有主键,同样也有 唯一键 呀.
所以,我的表设计是合理的.
这个结果也是合法的.我的意思是说,用 replace 取代 insert 时,要慎重呀,否则,会丢记录呀.