当我试图改变表格时显示错误
ERROR 1067 (42000): Invalid default value for 'created_at'
Run Code Online (Sandbox Code Playgroud)
我谷歌这个错误,但我发现只是他们试图改变时间戳这个错误发生但在这里我试图添加新列,我收到此错误
mysql> ALTER TABLE investments ADD bank TEXT;
ERROR 1067 (42000): Invalid default value for 'created_at'
Run Code Online (Sandbox Code Playgroud)
我的表有最后两列是created_at和updated_at
这是我的表结构
当我将ubuntu从15.10升级到16.04时,我在yii2项目中有这个错误
SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #3
of SELECT list is not in GROUP BY clause and contains nonaggregated column
'iicityYii.opportunity_conditions.money' which is not functionally dependent
on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
Run Code Online (Sandbox Code Playgroud)
正在执行的SQL是:
SELECT SUM(oc.money),op.id,oc.money,
op.mantaghe,
op.`time`, op.`id`, `op`.`logo`,
`pd`.`user_id`, `op`.`name`,
`pd`.`co_name`, `op`.`address`,
`op`.`project_type_id`, `op`.`state_id`
FROM `opportunity` op
INNER JOIN `profile_details` pd ON op.user_id=pd.user_id
INNER JOIN `opportunity_conditions` oc ON op.id=oc.opportunity_id
GROUP BY `op`.`id`
ORDER BY `op`.`id` DESC
Run Code Online (Sandbox Code Playgroud)
怎么解决我的问题?
我正在使用Ubuntu OS 14.04 LTS.在我运行sudo apt-get dist-upgrade之后(运行此命令因为我无法下载并在os询问时更新它)我无法再次打开phpmyadmin.在此之前我可以正常打开它.
我正在使用PHP版本7.0.4-5,phpmyadmin 4.5.5.1使用phpmyadmin我从https://www.phpmyadmin.net/下载它,然后转到/ var/www/html.
我启用了
extension=php_mbstring.dll
extension=php_exif.dll
extension=php_mysqli.dll
Run Code Online (Sandbox Code Playgroud)
并重新启动apache2仍然无法正常工作.而当我运行php-m和phpinfo()时也找不到mbstring.
请帮忙解决这个问题.非常感谢帮助我.
我正在尝试从.sql文件恢复数据库,我已经在phpmyadmin中创建了数据库,并且还使用了.sql文件中的create if not exist命令,我将恢复到数据库,并且phpmyadmin中的数据库的两个名称都相同. sql文件是"mydatabase".
这是我用来恢复数据库的命令.
mysql -uroot -pmypassword mydatabase<mydatabase.sql;
Run Code Online (Sandbox Code Playgroud)
当我执行上述命令时,我收到以下错误,我还在此数据库上向用户授予了所有权限.
ERROR 1049 (42000): Unknown database 'mydatabasename'
Run Code Online (Sandbox Code Playgroud)
请帮助我如何解决这个问题.谢谢,
我为我的php项目制作了一个备份文件,然后卸载旧的xampp(php 5.x.x)
.之后,我尝试安装最新的xampp version(php 7.0.1)
并将旧的xampp中的备份文件放入包含其数据库的新文件中.问题是,当我尝试运行旧文件时遇到很多错误.似乎有很多代码已经过时的新PHP版本.再次运行旧文件的最佳方法是什么?我想我可能会重新安装旧的xampp,但我也想使用最新的php版本.什么是理想的事情?我已经阅读了一些关于它的文章,但我没有找到关于此的明确解释.请帮忙.
PHP在我的Windows桌面上运行得太慢,phpMyAdmin需要几分钟才能打开数据库.以下是运行简单PHP测试程序的时间比较:
这是测试程序......
<?php
$rStartTime = microtime(true);
$countTo = 100000;
$a = 0;
//$countTo = $countTo * 100;
for ($x = 0; $x <= $countTo; $x++) {
$a = sqrt(pow($x, 2));
}
$rMs = floor((microtime(true) - $rStartTime) * 1000);
echo 'timer done, countTo=' . $a . ' ms=' . $rMs;
Run Code Online (Sandbox Code Playgroud)
通过在Firefox中输入" http://localhost/timer.php " ,可以在不进行调试的情况下运行测试程序.
本地机器通常很快.它正在运行......
是什么让PHP运行得如此之慢?
我通过以下查询在一个事务中锁定了一行
START TRANSACTION;
SELECT id FROM children WHERE id=100 FOR UPDATE;
Run Code Online (Sandbox Code Playgroud)
在另一个交易中,我有一个查询如下
START TRANSACTION;
SELECT id FROM children WHERE id IN (98,99,100) FOR UPDATE;
Run Code Online (Sandbox Code Playgroud)
它会超出错误锁定等待超时.
这里100已被锁定(在第一次交易中)但是ids 98,99没有被锁定.如果在上面的查询中只有100行被锁定,那么有任何可能返回98,99的记录.所以结果应该如下
ID
===
98
99
===
应忽略Id 100,因为100被事务锁定.
我在OS X Maverick上安装了XAMPP 1.8.3-1,一切都很好,直到我昨晚升级到Yosemite,现在当我尝试在管理器中启动MySQL时,它将无法启动.
活动监视器显示没有其他MySQL进程在运行.在错误日志中,我发现此消息:
2014-08-06 17:19:04 5277 mysqld_safe用/ Applications/XAMPP/xamppfiles/var/mysql中的数据库启动mysqld守护进程dyld:未找到符号:_sqlite3_intarray_bind引用自:/System/Library/Frameworks/CoreData.framework/Versions/A/CoreData预期在:/Applications/XAMPP/xamppfiles/lib/libsqlite3.dylib /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData 2014-08-06 17:19:05 5277 mysqld_safe mysqld from pid文件/Applications/XAMPP/xamppfiles/var/mysql/MacBook-Pro.local.pid结束
所以情况就是这样,我有一个iOS应用程序,其中有一部分用户将信息输入特定标签,然后我根据用户给出的信息创建一个URL请求,并将其发送到我的PHP后端.URL遵循以下结构:
http://www.somewebsite.com/send.php?title=hello&name=john&contact=email
Run Code Online (Sandbox Code Playgroud)
现在上面的问题是任何有权访问URL的人都可以轻易地用垃圾邮件轰炸数据库,提交的内容太多等等.感觉非常不安全.我的方法应该如何使这个过程尽可能安全?
我目前对PHP的知识水平是能够通过简单地使用"完成工作"的方法(无论它们有多安全)来完成任务,但现在我开始达到我需要保持安全的程度,安全等等.非常感谢有用的建议/见解.谢谢!