在插入之前选择的SQL查询

时间:2018-01-09 21:37:55

标签: php mysql phpmyadmin

我目前正在研究以下sql代码,只有在目前还不存在的情况下才会插入新数据集。在phpmyadmin中执行时,sql代码工作正常。如果我在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 historiclistiddatenameidnumber附近使用正确的语法, prop1,第21行的“道具”

神秘的情况也是prop2没有完全显示出来。所以它在名称和e的末尾削减了2。 G。 prop3。

我错过了什么?

//编辑我也错过了其他东西......这里是我的PHP代码:

$sql1return      = sqlQUERY($connection, $sql1);
$message  = 'Invalid query: ' . mysql_error() . "\n";

function sqlQUERY($connection, $sqlinput){
    $return     = @mysql_query($sqlinput, $connection);
    return $return;
}

数据库连接在任何其他地方工作得很好(我知道它有点过时了)。

0 个答案:

没有答案