Php 无法在列名中插入包含冒号的列
我试图在语句中插入列名为00:18:e7:f9:65:a6的列Php 无法在列名中插入包含冒号的列,php,mysql,sql,Php,Mysql,Sql,我试图在语句中插入列名为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 s
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 */
在HeidiSQL中。我正在使用MySQL数据库
当我试图手动将列b添加到表的结构中时,它可以工作并且不会给出任何错误,但是当我运行此语句时,它不允许我这样做。如何解决此问题?我刚刚运行了您的查询:
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失败:
反勾号成功:
我刚刚运行了您的查询:
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失败:
反勾号成功:
对columnname使用反勾号 改变
ALTER IGNORE TABLE tblwifi_information ADD "00:18:e7:f9:65:a6" INT
到
对columnname使用反勾号 改变
ALTER IGNORE TABLE tblwifi_information ADD "00:18:e7:f9:65:a6" INT
到
我真的不知道你想在这里得到什么,朋友。 而不是:
00:18:e7:f9:65:a6
到
然后调整您的代码,将php或mysql中的“:”替换为“\”
在sql中:
Replace(table_name, ':', '_');
srt_replace(':','_',$query);
在PHP中:
Replace(table_name, ':', '_');
srt_replace(':','_',$query);
我真的不知道你想在这里得到什么,朋友。 而不是:
00:18:e7:f9:65:a6
到
然后调整您的代码,将php或mysql中的“:”替换为“\”
在sql中:
Replace(table_name, ':', '_');
srt_replace(':','_',$query);
在PHP中:
Replace(table_name, ':', '_');
srt_replace(':','_',$query);
要向故事中添加内容,在查询多个表时,必须使用以下表达式:
`tablename`.`columnname`
(不是“tablename.columnname”)
我花了一些时间才弄明白,所以我希望它能帮助别人:)
例如:
SELECT *
FROM tb_product p
JOIN tb_brand b ON ( `p`.`tb_brand:IDbrand` = `b`.`IDbrand` )
WHERE IDfamily = 2
要向故事中添加内容,在查询多个表时,必须使用以下表达式:
`tablename`.`columnname`
(不是“tablename.columnname”)
我花了一些时间才弄明白,所以我希望它能帮助别人:)
例如:
SELECT *
FROM tb_product p
JOIN tb_brand b ON ( `p`.`tb_brand:IDbrand` = `b`.`IDbrand` )
WHERE IDfamily = 2
你试过用反勾吗?i、 e.
`
而不是“
围绕标识符?可能重复为什么要使用mac/ipv6创建列?地址你是如何手动操作的?你需要离开,重新审视你的数据库结构,并请保存我们对标准化数据库结构的理智阅读。你是否可以使用反勾号进行尝试?i、 e.`
而不是“
围绕标识符?可能重复为什么要使用mac/ipv6创建列?地址你是如何手动完成的?你需要离开,重新审视你的数据库结构,并请保存我们关于规范化数据库结构的理智阅读。嗯,我不确定,但我怀疑这可能与你的php有关,而不是查询本身。如果您还没有这样做,我会尝试用php执行另一个非常基本的查询,比如SELECT*FROM…
,以确认您的数据库连接正常。嗯,我不确定,但我怀疑它可能与您的php有关,而不是查询本身。如果您还没有这样做,我会尝试用php执行另一个非常基本的查询,比如SELECT*FROM…
来确认您的db连接正常工作。