我目前正在编写下面的sql代码,只有在目前还不存在新数据集的情况下,才应该插入新的数据集。sql代码在phpmyadmin中执行时工作正常。如果我在php中执行代码,就会得到错误(见下文)。
sql代码如下:
INSERT INTO `historiclist` (`id`, `date`, `name`, `idnumber`, `prop1`, `prop2`, `prop3`, `difflimit1`, `difflimit2`)
SELECT * FROM (SELECT
0 as `id`,
1515529465 as `date`,
'johndoe' as `name`,
'381' as `idnumber`,
105 as `prop1`,
240 as `prop2`,
60 as `prop3`,
'-10' as `difflimit1`,
'-10' as `difflimit2`
) AS tmp
WHERE NOT EXISTS (
SELECT `id` FROM historiclist
WHERE `date` = 1515529465
AND `name` = 'johndoe'
AND `idnumber` = '381'
) LIMIT 1;
我收到的mysql错误是:
无效查询:您的sql语法有错误;检查与您的mariadb服务器版本相对应的手册,以获得使用“insert into”附近的正确语法 historiclist
( id
, date
, name
, idnumber
, prop1
,`prop'在第21行
神秘的情况还有prop2没有完全展示出来。所以它把名字后面的2和e都删掉了。g。建议3。
我错过了什么?
//编辑我也错过了一些东西。。。下面是我的php代码:
$sql1return = sqlQUERY($connection, $sql1);
$message = 'Invalid query: ' . mysql_error() . "\n";
function sqlQUERY($connection, $sqlinput){
$return = @mysql_query($sqlinput, $connection);
return $return;
}
数据库连接在任何其他地方都可以正常工作(我知道它有点过时)。
暂无答案!
目前还没有任何答案,快来回答吧!