Php 重复键上的MySQL两个唯一字段不插入
我有这张桌子Php 重复键上的MySQL两个唯一字段不插入,php,mysql,Php,Mysql,我有这张桌子 CREATE TABLE IF NOT EXISTS `set_indice_cuestionarios` ( `id` int(11) NOT NULL AUTO_INCREMENT, `cuestionario` int(11) NOT NULL, `fecha` date NOT NULL, `hora` time NOT NULL, `aplico` varchar(100) NOT NULL, `cliente` int(11) NOT NULL,
CREATE TABLE IF NOT EXISTS `set_indice_cuestionarios` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`cuestionario` int(11) NOT NULL,
`fecha` date NOT NULL,
`hora` time NOT NULL,
`aplico` varchar(100) NOT NULL,
`cliente` int(11) NOT NULL,
`tienda` int(11) NOT NULL,
`status` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
UNIQUE KEY `tienda` (`tienda`),
UNIQUE KEY `cuestionario` (`cuestionario`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
这是我的SQL语句:
$sql\u indicie=插入集合\u indicie\u cuestionarios cuestionario、fecha、hora、aplico、cliente、tienda值“$cuestionario”、“$fecha”、“$hora”、“$aplico”、“$cliente”、“$tienda”关于重复键更新的提示提示:cuestionario=“$cuestionario”、fecha=“$fecha=”、hora=“$hora”、aplico=“$aplico=”、cliente=“$cliente”,状态=0
如果$tienda=tienda和$cuestionario=cuestionario,我想更新一行,如果任何值不匹配,则插入一行
当两个值匹配时会发生更新,但当我只更改$cuestionario时,它会更新表,而不是插入新记录,当我只更改$tienda时,它会执行插入。我不知道我做错了什么。提前谢谢你 我相信您正在寻找一个组合的唯一键->唯一键'tienda','cuestionario'。这样,当两者匹配时,它将更新,否则它将输入新的。是的,这就是问题所在。非常感谢。你的插页无论如何都可能会爆炸。您在cuestionario上有一个重复的键,而您的on update只是尝试使用一开始可能导致重复冲突的值来更新字段。e、 你基本上是在告诉mysql不要再打我的头了,再打我的头。Thanx Marc,我会纠正的。