insert into ta(c1,c2,c3,c4,c5)value('xx',3,4,'ee','ww')
我想在插入之前判断 c1,c2,c3 的('xx',3,4) 是否在ta表已经有了如果有 就不插入。如果无 就插入
----------------------------------
用
IF NOT EXISTS (SELECT ID FROM ta WHERE ID = 0) THEN
INSERT INTO ta (ID) VALUES (2)
ELSE
BEGIN END
END IF
报错 Error Code : 1064
我想在插入之前判断 c1,c2,c3 的('xx',3,4) 是否在ta表已经有了如果有 就不插入。如果无 就插入
----------------------------------
用
IF NOT EXISTS (SELECT ID FROM ta WHERE ID = 0) THEN
INSERT INTO ta (ID) VALUES (2)
ELSE
BEGIN END
END IF
报错 Error Code : 1064
解决方案 »
- MySql数据库循环操作(读出并删除第一行,写回最后一行,)?谢谢
- 如何在MYSQL中查看所有的表名?或者一个表下的字段,刚接触,不懂。。。
- 误操作造成root用户没了,如何办呀,我update user set user=password('123456') where user='root'
- Navicat for MySQL 怎么连接局域网的数据库????
- 求mysql查询语句
- 如何在postgres中实现按拼音排序
- Postgresql里面支不支持case,when等关键字?
- 用phpmyadmin怎样使进入index.php页面的时候输入用户名和密码?
- mysql update where 如果空列,能不能update?
- mysql select 问题
- 用ODBC连接MySql5.1取数据,出现“Illegal mix of...”的错误,求助。
- sql语句 is not null效率高么
OR
在C1、C2、C3上建立唯一联合索引,用REPLACE INTO插入
begin
if not exists (select 1 from ta where c1='xx' and c2=3 and c3=4) then
insert into ta(c1,c2,c3,c4,c5)value('xx',3,4,'ee','ww');
end if;
end ;MYSQL的代码块必须是包含在存储程序里面的,不能单独写。
应该用IGNORE关键字,这个才会丢弃,REPLACE是覆盖了。