从select和variables插入mysql

ymdaylpp  于 2021-06-19  发布在  Mysql
关注(0)|答案(3)|浏览(370)

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

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

用和不用值,用和不用in,用和不用括号写,但是我总是得到一个synthax错误。
我的错在哪里?

dkqlctbz

dkqlctbz1#

你可以试试这个:

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

aiqt4smr2#

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

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

ps:为了避免sql注入,应该使用prepared语句

hgc7kmma

hgc7kmma3#

请尝试以下操作:

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

相关问题