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'
我正在尝试插入来自 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'