Php SQL中的JavaScript

Php SQL中的JavaScript,php,javascript,sql,Php,Javascript,Sql,每次年份发生变化时(例如:2012年我的密钥为2012000000,2013年我的密钥为2013000000),我都必须在sqldb中插入一个新的主键,并且我希望自动执行此操作 我的方法是像这样向管理面板添加一个脚本 <script type="text/javascript" src="myscript.php"></script> 我想知道的是: 如果主键是自动递增的,我可以向它插入任意值吗 如果是这样,它会自动递增而没有问题吗 我的总体方法正确吗 这是一种反

每次年份发生变化时(例如:2012年我的密钥为2012000000,2013年我的密钥为2013000000),我都必须在sqldb中插入一个新的主键,并且我希望自动执行此操作

我的方法是像这样向管理面板添加一个脚本

<script type="text/javascript" src="myscript.php"></script>

我想知道的是:

  • 如果主键是自动递增的,我可以向它插入任意值吗
  • 如果是这样,它会自动递增而没有问题吗
  • 我的总体方法正确吗

    • 这是一种反常的做法

    • 为什么需要插入主键?看看,它可能会更优雅地实现你的目标
    • 如果这个限制被你的应用程序级别(比如“代码>年份= PrimaRyKEY/1000000代码/代码>”所暗示)——考虑重新实现它,这是一个巨大的设计缺陷。
    • 如果我没有得到什么,而您仍然确定必须插入ID,这取决于您的数据库引擎。其中一些允许插入主键,而hovewer需要特殊的语法。请指定您正在使用的数据库
    • 实现定时执行的正确方法是使用(如果您的服务器在*nix上运行)或(如果它在Windows命令下运行)。这些是用于重复执行的灵活工具。在您的情况下,您只需告诉它在每年的00:00:00 01/01运行您的脚本(
      myscript.php
      ),您就可以了。脚本可能是php页面、控制台程序或其他什么
    • 最后一点,为什么要检查它是javascript?“正确”的方法是使用
      include

    • 总而言之,我强烈建议重新考虑一下。您上次使用的方法非常违反直觉和明显,并且存在错误(想象一下,当添加新年时,如果没有人登录到管理后端会发生什么:)

      您应该指定正在使用的sql db。。。是MySQL吗?我不确定你想要什么,因为这个问题对我来说似乎有点模糊,但你肯定可以从你的PHP脚本中动态生成年份,而不需要javascript。将不同类型的信息混合在一个列中从来都不是一个好主意,我强烈建议为年份添加一个单独的列。你的“思考”方式很遗憾,使用不同的列一年是不好的。我只是想找到一种方法来做到这一点:我有这个id 2012000123,我想把它改为2013000000我的db文件扩展名是(.db),这告诉我什么。使用db。很可能是SQLite,但你最好自己检查一下。我想把id从“2012”改为“2013”,因为id是一张票的号码。我想改变它,这样我就可以知道我每年得到多少张票。例如:2011年,这是我的最后一张票id“2011005061”。我怎么知道我有什么类型的db?你的方法根本不适合你的目标。表分区。附加
      年份
      字段。每年都有新的数据库。不管怎样,但不要增加主键。关于数据库:它完全超出了这个问题的范围。搜索SO或谷歌搜索它。