我有一个.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