嗨,我正在尝试在下面运行此查询:
INSERT INTO Database2.Table2 ('1', getdate(), getdate(), '',ID,'','0','0','0','',ID,'','',getdate(),getdate(),'','0','"stackoverflow.com/"'+'ID','0','product','','0')
SELECT ID
FROM Database1.Table1;
我要插入一个新行,该行中的常量数据与另一个表(本例为Database1.Table1“ ID”)中的数据混合在一起。当我尝试运行此代码时,我不断收到选择语句错误。有我要监督的事情吗,还是这句话错了?谢谢
答案 0 :(得分:1)
将常量放入SELECT
列表中。
INSERT INTO Database2.Table2
SELECT '1', getdate(), getdate(), '',ID,'','0','0','0','',ID,'','',getdate(),getdate(),
'','0',CONCAT('"stackoverflow.com/"','ID'),'0','product','','0', ID
FROM Database1.Table1;
顺便说一句,强烈建议您摆脱使用INSERT
的习惯,而不必在值之前列出列名。根据表定义中列的特定顺序,很容易出错。
此外,默认情况下,MySQL不使用+
进行字符串连接,而是使用CONCAT()
函数。