这个SQL查询有什么问题?

时间:2010-02-06 08:40:29

标签: sql

我在这个INSERT查询中似乎出错了。有人可以告诉我如何使这项工作?

感谢。

INSERT INTO tablename ('score', 'coins-earned', 'bonus-used', 'topmultiplier', 'highscore', 'currentposition', 'super', 'star', 'color') 
VALUES ('1', '2', 'TRUE', '3', 'TRUE', '4', '5', '6', '7') 

5 个答案:

答案 0 :(得分:7)

您将列名放在引号中,连字符在列名中可能无效。在MS SQL中,这是有效的:

INSERT INTO tablename (score, [coins-earned], [bonus-used], 
    topmultiplier, highscore, currentposition, super, star, color) 
VALUES ('1', '2', 'TRUE', '3', 'TRUE', '4', '5', '6', '7') 

这也假设所有列都是char或varchar,它们可能不是。数字和布尔列也不需要引号,所以你可能会得到这样的结果:

INSERT INTO tablename (score, [coins-earned], [bonus-used], 
    topmultiplier, highscore, currentposition, super, star, color) 
VALUES (1, 2, TRUE, 3, TRUE, 4, '5', '6', '7') 

答案 1 :(得分:1)

请提供表格结构。

我猜'得分'是数字的,你试图插入一个字符串,所以其他列也是如此。

答案 2 :(得分:0)

然后语法本身就可以了。

请添加表格描述,关于您要放入表格的值必须有错误(可能是数字,您想插入“TRUE”)。

答案 3 :(得分:0)

我猜这些数字是表格设计中的数值,所以你不需要'' - 如果列'bonus-used'是位/ bool列使用1/0而不是'true'< / p>

所以

值(1,2,1,3,1,4,5,6,7)

答案 4 :(得分:0)

尝试替换列名称中的单引号:

INSERT INTO tablename
  (`score`, `coins-earned`, `bonus-used`, `topmultiplier`,
   `highscore`, `currentposition`, `super`, `star`, `color`) 
VALUES ('1', '2', 'TRUE', '3', 'TRUE', '4', '5', '6', '7')