我有一个.sql导出文件phpMyAdmin.我想使用命令行将其导入到不同的服务器中.
我有一个Windows Server 2008 R2安装.我把.sql文件放在C盘上,我尝试了这个命令
database_name < file.sql
Run Code Online (Sandbox Code Playgroud)
它不起作用我得到语法错误.
我正在设计一个大型数据库.在我的应用程序中,我将有很多行,例如我目前有一个表有400万条记录.我的大多数查询都使用datetime子句来选择数据.在mysql数据库中索引datetime字段是一个好主意吗?
Select field1, field2,.....,field15
from table where field 20 between now() and now + 30 days
Run Code Online (Sandbox Code Playgroud)
我试图让我的数据库运行良好,查询运行顺利
更多,您认为我应该创建一个高效数据库的想法是什么?
美好的一天,
我愿意在Mysql中检索刚插入的行的id值.
我知道有mysqli_insert_id函数,但是:
我不想冒险查询最高的ID,因为有很多查询,它可能会给我错误的...
(我的id列是自动增量)
我试图将当前时间与UTC和UTC之间的时间转换为当前时区.
这是我做的:
$schedule_date = new DateTime($triggerOn, new DateTimeZone('UTC') );
$triggerOn = $schedule_date->format('Y-m-d H:i:s');
echo $triggerOn;
Run Code Online (Sandbox Code Playgroud)
输出值不会更改格式中唯一更改的内容.
字符串$triggerOn是根据America/Los_Angeles时区生成的
这是我的字符串之前和之后的样子:
BEFORE 04/01/2013 03:08 PM
AFTER 2013-04-01 15:08:00
Run Code Online (Sandbox Code Playgroud)
所以这里的问题是DateTime不会转换为UTC.
我目前在Windows Server 2008 R2上安装了PHP 5.5.12和Apache 2.4.一切都运行良好,没有问题/警告.
我所做的是将相同的Apache文件/配置复制到另一台服务器.我复制了C:\PHP目录,然后复制了目录并将C:\Apache24它们粘贴到新服务器中.
然后我通过一次更改安装了Apache(即httpd -k install.)我将端口号从80更改为8877.Apache正在运行,没有问题,它在8877端口上运行.我也可以通过转到SERVER_IP_ADDRESS:8877打开默认页面,它可以工作.
但是,PHP并没有按预期工作.在Apache服务器的error.log文件中,我收到下面列出的警告
PHP Warning: PHP Startup: Unable to load dynamic library 'ext\\php_curl.dll' - The specified module could not be found.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'ext\\php_ldap.dll' - The specified module could not be found.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'ext\\php_mysql.dll' - The specified module could not be …Run Code Online (Sandbox Code Playgroud) 我有一个字段,VARCHAR(6)我试图将其插入另一个类型的表,bigint 它给我一个错误
(错误从数据类型varchar转换为bigint
这就是我在做的事情
CONVERT(bigint, seconds) as seconds
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮助解决这个问题吗?
我有一个MySQL存储过程,我从表中找到最大值.
如果没有值,我想将变量设置为昨天的日期.
DECLARE current_procedure_name CHAR(60) DEFAULT 'accounts_general';
DECLARE last_run_time datetime DEFAULT NULL;
DECLARE current_run_time datetime DEFAULT NOW();
-- Define the last run time
SET last_run_time := (SELECT MAX(runtime)
FROM dynamo.runtimes WHERE procedure_name = @current_procedure_name);
-- if there is no last run time found then use yesterday as starting point
IF(@last_run_time IS NULL) THEN
SET last_run_time := DATE_SUB( NOW(), INTERVAL 1 DAY);
END IF;
SELECT @last_run_time;
Run Code Online (Sandbox Code Playgroud)
问题是@last_run_time始终为NULL.
由于某种原因,以下代码未被执行
IF(last_run_time IS NULL) THEN
SET last_run_time := DATE_SUB( NOW(), INTERVAL 1 …Run Code Online (Sandbox Code Playgroud) 我试图使用"OPENQUERY"从MS SQL Server将记录插入MySQL数据库,但我想要做的是忽略重复的密钥消息.因此,当查询遇到重复时,请忽略它并继续.
我可以做些什么来忽略重复?
这是我在做的事情:
问题是,当将表A连接到表B时,有时我会在表B中找到2条以上的记录,这些记录与我要查找的条件相匹配,这会导致我的数据集中的值A.record_id超过2倍,然后将其插入表A中这导致了问题.注意我可以使用聚合函数来消除记录.
我Redis用来缓存Laravel 5.2中的查询/路由.
我有3个环境在同一个Web服务器上运行,即"生产","暂存"和"开发".
对于每个环境,我设置了不同的缓存prefix值,以允许我将缓存链接到不同的环境.
在config/cache.php文件中我改变了行
'prefix' => 'laravel',
Run Code Online (Sandbox Code Playgroud)
至
'prefix' => ENV('CACHE_PREFIX', 'laravel'),
Run Code Online (Sandbox Code Playgroud)
然后在我的.env文件中,我为每个环境添加了这样的前缀
对于开发
CACHE_PREFIX="LaravelDev"
Run Code Online (Sandbox Code Playgroud)
用于分期
CACHE_PREFIX="LaravelStaging"
Run Code Online (Sandbox Code Playgroud)
用于生产
CACHE_PREFIX="LaravelProduction"
Run Code Online (Sandbox Code Playgroud)
我知道我可以像这样从命令行清除缓存
php artisan cache:clear
Run Code Online (Sandbox Code Playgroud)
但上面的代码将清除所有环境的缓存.
我只想清除"LaravelDev"的缓存而只留下"LaravelStaging"和"LaravelProduction"
如何清除特定环境的缓存?
mysql ×5
php ×2
sql ×2
sql-server ×2
apache ×1
artisan ×1
asp.net ×1
asp.net-mvc ×1
c# ×1
caching ×1
command-line ×1
datetime ×1
dll ×1
import ×1
indexing ×1
laravel ×1
laravel-5 ×1
laravel-5.2 ×1
node.js ×1
openquery ×1
sql-insert ×1
timezone ×1