MYSQL 从 select 和变量中插入

MYSQL insert from select and variables

我正在尝试插入来自 select 和变量的值:

INSERT INTO routeur (`codeAdherent`, `quantiteArticle`, `dateFin`) VALUES 
(SELECT `codeAdherent` FROM adherents WHERE categorie = 'G', `quantiteArticle` = $a, `dateFin`= $b);

写有无 VALUES,有无 IN,有无括号,但我总是遇到语法错误。

我的错误在哪里?

你可以试试这个:

INSERT INTO routeur (codeAdherent, quantiteArticle, dateFin) VALUES 
(SELECT codeAdherent FROM adherents WHERE categorie = 'G', $a, $b);

你必须仔细阅读 INSERT syntax 因为你有很多错误。 这是正确的语法:

INSERT INTO routeur (codeAdherent, quantiteArticle, dateFin) 
SELECT codeAdherent, '$a', '$b'
FROM adherents 
WHERE categorie = 'G' 

PS:为了避免SQL Injection you should use Prepared Statements

尝试以下:

INSERT INTO routeur (codeAdherent, quantiteArticle, dateFin) 
SELECT codeAdherent, @a, @b FROM adherents WHERE categorie = 'G'