我可以在 SQL 查询中添加一些 PHP 代码吗?
Can I add some PHP code into an SQL query?
我目前正在 运行 使用以下 SQL 脚本从数据库中提取交易数据(每个交易一行)的脚本,该脚本正在 运行 MySQL Workbench。
SELECT
id,
merchant_id,
affiliate_id,
date,
sale_amount,
commission,
ip
FROM transactions.transaction201505
table t.transactions 中的一列是 IP 地址。有没有办法在 SQL 脚本中嵌入此 PHP 脚本(或达到此效果的函数):
php function geoip_country_name_by_addr
http://php.net/manual/en/function.geoip-country-code-by-name.php
我见过很多将 MySQL 添加到 PHP 的示例,但实际上我想以相反的方式将国家/销售城市添加到我的数据中,以便结果看起来像下面的示例,可能 运行 来自 MySQL Workbench 等工具。我无权访问此数据库上的 运行 PHP 脚本,因此需要 SQL 的解决方案。
在此先感谢您提供的任何帮助。
杰米
不,这不是直接可能的。您可以在外部模块(例如 .DLL、.so 或 .dylib)中编写 UDF(用户定义函数),但在这样的模块中使用 PHP 可能也是不可能的(因为 PHP 是一种脚本语言,您需要将 UDF 编译成二进制代码)。但是,MySQL 有许多内置函数 (https://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html)。虽然这里不是你想要的。
我目前正在 运行 使用以下 SQL 脚本从数据库中提取交易数据(每个交易一行)的脚本,该脚本正在 运行 MySQL Workbench。
SELECT
id,
merchant_id,
affiliate_id,
date,
sale_amount,
commission,
ip
FROM transactions.transaction201505
table t.transactions 中的一列是 IP 地址。有没有办法在 SQL 脚本中嵌入此 PHP 脚本(或达到此效果的函数):
php function geoip_country_name_by_addr
http://php.net/manual/en/function.geoip-country-code-by-name.php
我见过很多将 MySQL 添加到 PHP 的示例,但实际上我想以相反的方式将国家/销售城市添加到我的数据中,以便结果看起来像下面的示例,可能 运行 来自 MySQL Workbench 等工具。我无权访问此数据库上的 运行 PHP 脚本,因此需要 SQL 的解决方案。
在此先感谢您提供的任何帮助。
杰米
不,这不是直接可能的。您可以在外部模块(例如 .DLL、.so 或 .dylib)中编写 UDF(用户定义函数),但在这样的模块中使用 PHP 可能也是不可能的(因为 PHP 是一种脚本语言,您需要将 UDF 编译成二进制代码)。但是,MySQL 有许多内置函数 (https://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html)。虽然这里不是你想要的。