我正在尝试插入列名为00:18的列:e7:f9:65:a6,带有语句
ALTER IGNORE TABLE tblwifi_information ADD "00:18:e7:f9:65:a6" INT
...但它会引发错误:
/* SQL Error (1064): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"00:18:e7:f9:65:a6" INT' at line 1 */
<\ n>在Heidi SQL中。我正在使用MySQL数据库。
当我尝试手动添加列时b进入表的结构它工作,并没有给出任何错误但是当我运行此语句时它不允许我。我该如何解决这个问题?
答案 0 :(得分:3)
我刚刚运行了您的查询:
ALTER IGNORE TABLE tblwifi_information ADD "00:18:e7:f9:65:a6" INT
并得到了同样的错误。然后我跑了:
ALTER IGNORE TABLE tblwifi_information ADD `00:18:e7:f9:65:a6` INT
它有效。很确定你需要改变“到`
双qoutes失败:
反击成功:
答案 1 :(得分:2)
使用反引号作为列名
变化
ALTER IGNORE TABLE tblwifi_information ADD "00:18:e7:f9:65:a6" INT
要
ALTER IGNORE TABLE tblwifi_information ADD `00:18:e7:f9:65:a6` INT
答案 2 :(得分:1)
要在故事中添加内容,在查询多个表时,必须使用以下表达式:
`tablename`.`columnname`
(不是`tablename.columnname`)
我花了一些时间来弄明白,所以我希望它有助于某人:)
示例:
SELECT *
FROM tb_product p
JOIN tb_brand b ON ( `p`.`tb_brand:IDbrand` = `b`.`IDbrand` )
WHERE IDfamily = 2
答案 3 :(得分:0)
我真的不知道你想要在这里找到什么。 而不是:
00:18:e7:f9:65:a6
到
00_18_e7_f9_65_a6
然后调整您的代码以替换&#34;:&#34;到&#34; _&#34;在php或mysql中。
在sql:
Replace(table_name, ':', '_');
PHP中的:
srt_replace(':','_',$query);